// 注册地图
MapViewManager.getInstance().registerMapViewCreatedCallback((mapview?: MapView, mapViewName?: string) => {
console.info(‘高德地图渲染:’ + mapViewName)
if (!mapview) {
return;
}
YTLog.error(‘高德地图’, ‘开始渲染地图’)
let mapView = mapview;
mapView.onCreate()
mapView.getMapAsync((map) => {
this.aMap = map
let options: MarkerOptions | undefined = AppStorage.get(AppStorageKeyTag.nearBranch)
let latLng: LatLng = new LatLng(32.027597688958835, 118.78538131713869)
if (options) {
latLng = options.getPosition()
}
this.aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 9));
// 绘制标记
this.branchListinfo.forEach((item: branchinfo) => {
YTLog.error(‘高德地图’, ‘添加单个标点’ + JSON.stringify(item))
let options: MarkerOptions = new MarkerOptions();
options.setPosition(new LatLng(Number(item.latitude), Number(item.longitude)));
options.setDraggable(false)
options.setTitle(item.branchName)
options.setSnippet(‘点击预约’)
this.markerOptionsList.add(options)
})
console.info(‘高德地图’, ‘添加标点’)
this.aMap.addMarkers(this.markerOptionsList, false);
// 标记点点击触发事件
this.aMap.setOnMarkerClickListener((marker: Marker): boolean => {
// marker 被点击的 marker 对象
// 返回true表示已处理点击事件,不再继续传递;返回false则继续传递
marker.showInfoWindow()
YTToast.showShort(‘点击跳转’)
return true
})
})
})