我在尝试在Android的谷歌地图上显示多个标记时遇到了一些问题。以下是我在的onCreate()做的事:安卓谷歌地图只绘制一个标记,但不是全部
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
map.moveCamera(CameraUpdateFactory.newLatLngZoom(mLocation, 11.0f));
map.getUiSettings().setZoomControlsEnabled(true);
convertedGeomList = RetrieveStoreAsyncTask.convertedGeom;
for (int i = 0; i < convertedGeomList.size(); i++) {
// Drawing marker on the map
drawMarker(new LatLng(Double.parseDouble(convertedGeomList.get(i)
.getStoreX()), Double.parseDouble(convertedGeomList.get(i)
.getStoreY())));
}
map.addMarker(new MarkerOptions()
.position(new LatLng(1.36111, 103.79907))
.title("Pizza Hut Kranji")
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
map.addMarker(new MarkerOptions()
.position(new LatLng(3.60988, 170.99001))
.title("Pizza Hut Woodlands")
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
我硬编码两个标记,以检查它是否情节,但不幸的是,它只能绘制一个。那么,对于drawMarker():
private void drawMarker(LatLng point) {
// Creating an instance of MarkerOptions
MarkerOptions markerOptions = new MarkerOptions();
// Setting latitude and longitude for the marker
markerOptions.position(point);
// Adding marker on the Google Map
map.addMarker(markerOptions);
}
我不知道为什么它只能绘制一个标志,尽管我的JSON多个纬度和经度返回。有任何想法吗?
在此先感谢。
我就在想,如果它是因为地图没有加载完成,然后我绘制了标记直线距离,这就是原因? –
可能是,但如果地图加载是问题,那么第一个标记也不应该是可见的...在我非常老的项目中,我使用与您的工作相同的方法。尝试实现'OnMapReadyCallback'而不是'getMap()',调用'getMapAsync()'。还有关于这个问题的任何日志? –
你愿意提供一些例子吗? –