高德地图---自定义飘窗
来源:互联网 发布:湘北vs山王数据 编辑:程序博客网 时间:2024/06/02 16:56
第一步继承类MainActivity extends Activity implements OnInfoWindowClickListener,InfoWindowAdapter
//给定位的mark添加infoWindow
aMap.setOnInfoWindowClickListener(this);// 设置点击infoWindow事件监听器
aMap.setInfoWindowAdapter(this);// 设置自定义InfoWindow样式
第二步 重写继承类中的方法
//infoWindow回调的方法 @Override public View getInfoContents(Marker arg0) { Log.e("infoWindow", "--------------getInfoContents---------------------"); View infoContent = getLayoutInflater().inflate( R.layout.posi_layout, null); render(arg0, infoContent); return infoContent; } //当点击mark的时候会调用getInfoWindow 和 render方法 可以来显示或隐藏飘窗 @Override public View getInfoWindow(Marker arg0) { Log.e("infoWindow", "--------------getInfoWindow---------------------"); View infoContent = getLayoutInflater().inflate( R.layout.posi_layout, null); render(arg0, infoContent); return infoContent; } private void render(Marker arg0, View infoContent) { Log.e("infowindow", "----------------render--------------------------------"); ImageView image_navi=(ImageView) infoContent.findViewById(R.id.image_posi_navi); //自定义的飘窗布局 添加点击方法 image_navi.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Log.e("render", "-----image_navi.setOnClickListener----------"); if(mark_posiAPP.getPosition().latitude==0 |mark_posiAPP.getPosition().longitude==0|Double.parseDouble(weidu)==0|Double.parseDouble(jingdu)==0){ Toast.makeText(getApplicationContext(), "定位未成功不能进行路径规划", 0).show(); }else{ Intent intent=new Intent(MainActivity.this,Activity_NaviChoose.class); intent.putExtra("la_start", mark_posiAPP.getPosition().latitude); intent.putExtra("ln_start", mark_posiAPP.getPosition().longitude); intent.putExtra("la_end", Double.parseDouble(weidu)); intent.putExtra("ln_end", Double.parseDouble(jingdu)); startActivity(intent); } } }); }
第三步 通过点击mark显示或隐藏飘窗
//mark点击时调用的方法 @Override public boolean onMarkerClick(Marker arg0) { Log.e("mark","----------onMarkerClick--------------------------" ); if(flag_isShowInfoWindow){ Log.e("mark","----------onMarkerClick--------------------------" +flag_isShowInfoWindow); aMap.clear(); MarkerOptions mark=new MarkerOptions(); mark.position(new LatLng(mark_posiAPP.getPosition().latitude, mark_posiAPP.getPosition().longitude)); BitmapDescriptor fromResource01 = new BitmapDescriptorFactory().fromResource(R.drawable.ic_point_view_num); mark.icon(fromResource01); aMap.addMarker(mark); flag_isShowInfoWindow=false; }else{ //显示 Log.e("mark","----------onMarkerClick--------------------------" +flag_isShowInfoWindow); aMap.clear(); MarkerOptions mark=new MarkerOptions(); mark.position(new LatLng(mark_posiAPP.getPosition().latitude, mark_posiAPP.getPosition().longitude)); BitmapDescriptor fromResource01 = new BitmapDescriptorFactory().fromResource(R.drawable.ic_point_view_num); mark.icon(fromResource01); mark.title("我是titile"); //不写这个我这就显示不了 也不知道为什么 mark.snippet("我是sippet"); Marker addMarker2 = aMap.addMarker(mark); addMarker2.showInfoWindow(); aMap.invalidate();// 刷新地图 flag_isShowInfoWindow=true; } return false; }
0 0
- 高德地图---自定义飘窗
- Android高德地图自定义信息窗
- Android高德地图自定义地图指南针
- 高德地图自定义路网
- 高德地图自定义POI的样式
- 高德地图自定义Marker显示文字
- 高德地图 AndroidSDK 自定义Marker
- 高德、百度地图自定义底图
- 高德地图自定义infowindow窗口
- 高德地图-添加自定义图标
- 高德地图BusLineOverlay自定义公交线路
- 自定义高德地图导航界面
- 高德地图自定义Marker显示文字
- 高德地图显示自定义信息窗体
- Android 高德地图自定义InfoWindow
- 高德地图自定义annotation图标
- 高德地图自定义定位当前位置按钮
- 高德地图开发-- 自定义图标
- 关于从网络上获取图片后自适应cell并且不失真的问题
- 用 WEKA 进行数据挖掘,第 2 部分: 分类和群集
- 由SpringJdbc引发的一点思考 (比较实用,如何选择Template)
- android开发之线程基础
- Bouncy Castle的Java JCE安装方法
- 高德地图---自定义飘窗
- get请求中url传参中文乱码问题--集锦
- web deploy 发布配置
- android编译分析之1—概述
- 判断A字符串在B字符串中连续出现的最大次数
- 设计模式 - 行为型模式 - 中介者模式
- hadoop下载地址
- ios打包后收不到推送信息(ios自学笔记)
- H3C VLAN配置、删除IP地址