#java #android #google-maps #google-maps-api-3
#java #Android #google-карты #google-maps-api-3
Вопрос:
Я пытаюсь добавить несколько маркеров на карту Google. Проблема, с которой я сталкиваюсь, заключается в том, что при добавлении первого маркера все остальные не добавляются, даже если значения широты и долготы разные.
Я использую API Google places для получения подробной информации и отображения информации на карте Google.
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
LatLng MyLoc = new LatLng(lati, lngi);
mMap.addMarker(new MarkerOptions().position(MyLoc).title("My Location"));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(MyLoc, 17.0f));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(MyLoc, 17));
if (places == null) {
Toast.makeText(this, "I have no places...", Toast.LENGTH_LONG).show();
return;
}
Place[] items = new Place[places.size()];
places.toArray(items);
for(int i=0;i<items.length;i ){
double sLat = places.get(i).getGeometry().getLocation().getLat();
double sLng = places.get(i).getGeometry().getLocation().getLng();
LatLng latlngg = new LatLng(sLat, sLng);
mMap.addMarker(new MarkerOptions()
.position(latlngg)
.title(places.get(i).getName())
.snippet(places.get(i).getVicinity())
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
.alpha(0.7f));
}
}
Комментарии:
1.
LatLng latlngg = new LatLng(lati, lngi);
почему вы не используете sLat и sLng?2. Да, я тоже использовал это, но все та же проблема
3.
LatLng latlngg = new LatLng(sLat, sLng);
Я думаю, вам следует изменить это, иначе все маркеры будут добавлены в одну и ту же точку.4. У вас ошибка копирования / вставки, double sLng = places.get(i).getGeometry().getLocation().getLat(); должно быть что-то вроде double sLng = places.get(i).getGeometry().getLocation().getLongitude();
5. двойная планка = places.get(i).getGeometry().getLocation().getLat(); двойной sLng = places.get(i).getGeometry().getLocation().getLat(); LatLng latlngg = новый LatLng(sLat, sLng); mMap.addMarker(новыйMarkerOptions() .position(latlngg)
Ответ №1:
Ваш уровень масштабирования 17 слишком высок. Я боюсь, что ваши данные выпадают из вида карты. Перекрестная проверка после значительного уменьшения уровня масштабирования.