基于地图的短信追踪小练习(8)地图覆盖物点击事件与活动间数据的传递

来源:互联网 发布:win7虚拟机mac os x 编辑:程序博客网 时间:2024/05/20 02:22

我们现在要实现的功能是点击地图上朋友的marker,跳转到显示朋友信息的界面


1.marker点击事件

mBaiduMap.setOnMarkerClickListener(new OnMarkerClickListener() {@Overridepublic boolean onMarkerClick(Marker marker) {}

2.获取发送方和经纬度

String[] s = fullMessage.split("/");LatLng point = new LatLng(Double.valueOf(s[0])+0.002,Double.valueOf(s[1])+0.002);BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_marker);  OverlayOptions option = new MarkerOptions().position(point).icon(bitmap);  Marker mk = (Marker) mBaiduMap.addOverlay(option);            Bundle bd = new Bundle();            bd.putString("address", address);            bd.putString("latitude",s[0]);            bd.putString("longtitude", s[1]);            mk.setExtraInfo(bd);

对于setExtra方法,是Overlay的方法,但是marker继承了这个方法

public void setExtraInfo(Bundle extraInfo)
设置覆盖物额外信息
参数:extraInfo - 覆盖物额外信息

3.获取到marker的信息并且用intent传递

 intent.putExtra("number",marker.getExtraInfo().get("address").toString());  intent.putExtra("latitude",marker.getExtraInfo().get("latitude").toString());  intent.putExtra("longtitude",marker.getExtraInfo().get("longtitude").toString());                  startActivity(intent);  


对于getExtraInfo根据键来获取信息

public Bundle getExtraInfo()
获取覆盖物额外信息
返回:覆盖物额外信息


4.在开启的活动中获取到intent的信息,并动态为textview设置

      Intent intent = getIntent();        String number = intent.getStringExtra("number");        String lantitude = intent.getStringExtra("lantitude");        String longtitude = intent.getStringExtra("longtitude");        TextView tv1 = (TextView)findViewById(R.id.txt_friend_number);tv1.setText(number);TextView tv2 = (TextView)findViewById(R.id.txt_friend_long_lang);tv2.setText(longtitude);TextView tv3 = (TextView)findViewById(R.id.txt_friend_altitude);tv3.setText(lantitude);



0 0
原创粉丝点击