android高德地图多个mark点击,Android ---------高德卫星地图绘制多个点和点的点击事件自定义弹窗...

最近开发中,遇到一个多个点绘制,并实现点击事件,出现自定义窗口显示相关信息等功能,所以写了这篇博客。

从后台请求数据,得到多个经纬度,然后绘制在地图上,并实现点击,出现相关信息(自定义弹框实现)

先来看看效果图:

2fdf868dbec5c1fac385c5ecf27b5e10.gif

介绍绘制点标记,和自定义Infowindow窗口。

项目代码目录中要添加一个接口文件  JniLibs 的os文件  才能绘制地图,

957f4926f04ef300cef3e1f32f64a315.png

布局

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/map"

android:layout_width="match_parent"

android:layout_height="match_parent" >

自定义绘制窗口接口:

public interface InfoWindowAdapter extends AMap.InfoWindowAdapter{

View getInfoWindow(Marker marker);

View getInfoContents(Marker marker);

}

绘制:

private void moveToForbiddenCity() {

if (list.size() > 0) {

double v = Double.parseDouble(list.get(0).getPosition().get(1));

double v1 = Double.parseDouble(list.get(0).getPosition().get(0));

CameraUpdate cu = CameraUpdateFactory.newLatLngZoom(new LatLng(v, v1), 13.0f);

aMap.moveCamera(cu);

}

}

MarkerOptions mo = new MarkerOptions();

double v = Double.parseDouble(info.getPosition().get(1));

double v1 = Double.parseDouble(info.getPosition().get(0));

mo.position(new LatLng(v, v1));

mo.title(info.getLift_code()).snippet(info.getUse_company_name());

aMap.setOnMarkerClickListener(markerClickListener);

mo.draggable(true);

mo.icon(BitmapDescriptorFactory.defaultMarker());

mo.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));

Paint paint = new Paint();

paint.setColor(Color.WHITE);

aMap.addMarker(mo);

点击事件

AMap.OnMarkerClickListener markerClickListener = new AMap.OnMarkerClickListener() {

@Override

public boolean onMarkerClick(Marker marker) {

final MarkerOptions moo = marker.getOptions();

showMapView(marker.getTitle(), marker.getSnippet(), moo);

return false;

}

};

我的代码是写的比较简单,你可以自己封装。(注:你可以不去高德申请密钥,直接运行案例就可以看到效果,实际项目开发中还是要去申请的)

其他高德相关  请看我的博客

有问题可以扫头像加新创建的群@我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值