我在尝试在 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 返回了多个纬度和经度。有什么想法吗?
提前致谢。
最佳答案
试试这个:
在 Activity
或 Fragment
中实现 OnMapReadyCallback
,因为这将为您提供 onMapReady(GoogleMap map)
方法。
现在在onCreate()中:
((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMapAsync(this);
并且,
@Override
public void onMapReady(GoogleMap map)
{
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())));
}
关于java - Android Google map 仅绘制一个标记,但不是全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35839295/