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

时间:2011-08-24 05:52:11

标签: android google-maps google-maps-markers

我有一个从网站上获取数组的Android应用程序

{“d”:[{“latitude”: - 1.0,“经度”: - 1.0,“time”:“07:14 PM 01/18/2038”,“most_recent”:“1”,“user_id “:”4e3f2c6659f25a0f8400000b“},{”纬度“: - 1.0,”经度“: - 1.0,”时间“:”07:14 PM 01/18/2038“,”most_recent“:”0“,”user_id“: “4e3f2c6659f25a0f8400000b”},{“纬度”: - 1.0,“经度”: - 1.0,“时间”:“07:14 PM 01/18/2038”,“most_recent”:“0”,“user_id”:“4e3f2c6659f25a0f8400000b “},{”latitude“:34.0608,”经度“: - 118.454,​​”time“:”07:14 PM 01/18/2038“,”most_recent“:”1“,”user_id“:”4e3da65e59f25a3956000005“}, {“纬度”:34.0608,“经度”: - 118.454,​​“时间”:“07:14 PM 01/18/2038”,“most_recent”:“0”,“user_id”:“4e3da65e59f25a3956000005”},{“纬度“:34.0608,”经度“: - 118.454,​​”时间“:”07:14 PM 01/18/2038“,”most_recent“:”0“,”user_id“:”4e3da65e59f25a3956000005“}]}

你可以看到每个项目都有一个纬度和经度组件以及一个id。

如何修改此程序,为“user_id”显示绿色引脚R.drawable.greenpin或蓝色引脚R.drawable.bluepin:“4e3f2c6659f25a0f8400000b”或“user_id”:每个项目的“4e3da65e59f25a3956000005”在阵列中(在这些位置应该是三个蓝色针脚和三个绿色针脚)

public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)
{ 
super.draw(canvas,mapView,shadow);
Point screenPts=new Point();
mapView.getProjection().toPixels(p,screenPts);
Bitmap bmp=BitmapFactory.decodeResource(getResources(),R.drawable.greenpin);
canvas.drawBitmap(bmp,screenPts.x,screenPts.y-50,null);
return true;
}
}

//to add the location marker
MapOverlay mapOverlay=new MapOverlay();
List<Overlay> listOfOVerlays=mapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);

我混淆了一下的方法,因为它根据屏幕点绘制了点。我宁愿通过数组的经度和纬度插入引脚来添加这些点。

1 个答案:

答案 0 :(得分:0)

我不明白你想要什么,但在我的情况下,这段代码适用于我,将标记放在适当的纬度,长地址中。

    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。