Android ---------高德卫星地图绘制多个点和点的点击事件自定义弹窗
最近開發(fā)中,遇到一個(gè)多個(gè)點(diǎn)繪制,并實(shí)現(xiàn)點(diǎn)擊事件,出現(xiàn)自定義窗口顯示相關(guān)信息等功能,所以寫了這篇博客。
從后臺(tái)請求數(shù)據(jù),得到多個(gè)經(jīng)緯度,然后繪制在地圖上,并實(shí)現(xiàn)點(diǎn)擊,出現(xiàn)相關(guān)信息(自定義彈框?qū)崿F(xiàn))
先來看看效果圖:
???????????
?
高德文檔:? http://lbs.amap.com/api/android-sdk/guide/draw-on-map/draw-marker??? 介紹繪制點(diǎn)標(biāo)記,和自定義Infowindow窗口。
?
項(xiàng)目代碼目錄中要添加一個(gè)接口文件? JniLibs 的os文件? 才能繪制地圖,
????
?
布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><com.amap.api.maps.MapViewandroid:id="@+id/map"android:layout_width="match_parent"android:layout_height="match_parent" ></com.amap.api.maps.MapView></LinearLayout>?
自定義繪制窗口接口:
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);?
點(diǎn)擊事件
AMap.OnMarkerClickListener markerClickListener = new AMap.OnMarkerClickListener() {@Overridepublic boolean onMarkerClick(Marker marker) {final MarkerOptions moo = marker.getOptions();showMapView(marker.getTitle(), marker.getSnippet(), moo);return false;}};?
我的代碼是寫的比較簡單,你可以自己封裝。(注:你可以不去高德申請密鑰,直接運(yùn)行案例就可以看到效果,實(shí)際項(xiàng)目開發(fā)中還是要去申請的)
?
其他高德相關(guān)? 請看我的博客
Android Studio 中實(shí)現(xiàn)高德定位并獲取相應(yīng)信息
Android Studio apk打包,keystore.jks文件生成,根據(jù)keystore密鑰獲取SHA1安全碼
Android Studio之高德地圖實(shí)現(xiàn)定位和3D地圖顯示
有問題可以掃頭像加新創(chuàng)建的群@我
源碼點(diǎn)擊下載
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhangqie/p/7525703.html
總結(jié)
以上是生活随笔為你收集整理的Android ---------高德卫星地图绘制多个点和点的点击事件自定义弹窗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Maven私服搭建
- 下一篇: 常用netbeans快捷键