Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在google地图上发布JSON数组中的多个标记_Android_Google Maps_Google Maps Markers - Fatal编程技术网

Android 如何在google地图上发布JSON数组中的多个标记

Android 如何在google地图上发布JSON数组中的多个标记,android,google-maps,google-maps-markers,Android,Google Maps,Google Maps Markers,我有一个android应用程序,它从网站上获取一个数组 {“d”:[{“纬度”:-1.0,“经度”:-1.0,“时间”:“07:14 PM 01/18/2038”,“最近的”:“1”,“用户id”:“4e3f2c6659f25a0f8400000b”},{“纬度”:-1.0”,“经度”:-1.0,“时间”:“07:14 PM 01/18/2038”,“最近的”:“0”,“用户id”:“4e3f2c6659f25a0f8400000b”},{“纬度”:“1.0”,经度-1.0,“时间”:“07:1

我有一个android应用程序,它从网站上获取一个数组

{“d”:[{“纬度”:-1.0,“经度”:-1.0,“时间”:“07:14 PM 01/18/2038”,“最近的”:“1”,“用户id”:“4e3f2c6659f25a0f8400000b”},{“纬度”:-1.0”,“经度”:-1.0,“时间”:“07:14 PM 01/18/2038”,“最近的”:“0”,“用户id”:“4e3f2c6659f25a0f8400000b”},{“纬度”:“1.0”,经度-1.0,“时间”:“07:14 PM/18/2038”,“最近的”:“用户id”:“用户id”:“4e3f2c6659f25a0f8400000b”{“纬度”:34.0608,“经度”:-118.454,“时间”:“07:14 PM 01/18/2038”,“最近的”:“1”,“用户id”:“4e3da65e59f25a3956000005”},“纬度”:34.0608,“经度”:-118.454,“时间”:“07:14 PM 01/18/2038”,“最近的”:“0”,“用户id”:“4E3DAE59F25A3956000005”{“纬度”:34.0608,“经度”:“时间”:“07:14 PM,“最近”:“0”,“用户id”:“4e3da65e59f25a3956000005”}

正如您所看到的,每个项目都有一个纬度和经度组件以及一个id

如何修改此程序以显示绿色pin
R.drawable.greenpin
或蓝色pin
R.drawable.bluepin
“用户id”:“4e3f2c6659f25a0f8400000b”或“用户id”:“4e3da65e59f25a3956000005”用于阵列中的每个项目(这些位置应为三个蓝色pin和三个绿色pin)

public boolean draw(画布、地图视图、地图视图、布尔阴影、长时间)
{ 
super.draw(画布、地图视图、阴影);
点屏幕PTS=新点();
getProjection().toPixels(p,screenPts);
位图bmp=BitmapFactory.decodeResource(getResources(),R.drawable.greenpin);
drawBitmap(bmp,screenPts.x,screenPts.y-50,null);
返回true;
}
}
//添加位置标记的步骤
MapOverlay MapOverlay=新的MapOverlay();
List ListoForLays=mapView.getOverlays();
listOfOverlays.clear();
添加(映射覆盖);

我使用的方法让我有点困惑,因为它基于屏幕点绘制点。我宁愿通过按阵列的经度和纬度插入管脚来添加这些点。

我不明白你想要什么,但在我的情况下,这段代码对我有用,用于将标记放在适当的lat、long地址中

    myPoint = new GeoPoint(((int) LATITUDE_Add) * 1E6),(int)LONGITUDE_Add) * 1E6));
drawable = getResources().getDrawable(R.drawable.marker_blue);
itemizedoverlay = new MapOverLay(drawable, MapPage.this, mapview);
OverlayItem overlayitem = new OverlayItem(myPoint, address, "");

 itemizedoverlay.addOverlay(overlayitem);
 mapOverlays.add(itemizedoverlay);
 mapview.getController().animateTo(myPoint);
Thnx

    myPoint = new GeoPoint(((int) LATITUDE_Add) * 1E6),(int)LONGITUDE_Add) * 1E6));
drawable = getResources().getDrawable(R.drawable.marker_blue);
itemizedoverlay = new MapOverLay(drawable, MapPage.this, mapview);
OverlayItem overlayitem = new OverlayItem(myPoint, address, "");

 itemizedoverlay.addOverlay(overlayitem);
 mapOverlays.add(itemizedoverlay);
 mapview.getController().animateTo(myPoint);