如何在地图上为OpenMapQuest添加地图标记

时间:2014-06-15 04:11:13

标签: android maps mapquest openmap

我正在尝试在地图上添加地图标记

My code is as below

FrgBufLocation.java

public class FrgBufLocation extends Fragment{

    double dummyLatitude=12.931841;
    double dummyLongitude=77.622236;

    //Constructor declaration on type newInstance
    public static FrgBufLocation newInstance(String _buf_off_id) {
        FrgBufLocation fragment = new FrgBufLocation();

        buf_off_id=_buf_off_id;

        return fragment;
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.frg_buf_location, container,false);
        setHasOptionsMenu(true);///For using actionbar menu from fragment

         MapView map = (MapView) rootView.findViewById(R.id.map);
          map.getController().setZoom(9);
          map.getController().setCenter(new GeoPoint(dummyLatitude,dummyLongitude));
          map.setBuiltInZoomControls(true);

        return rootView;
    }
}

我收到了输出 ::

enter image description here

如何获得此类输出 ::(We can notice the below image has pinpoint pointed

enter image description here

2 个答案:

答案 0 :(得分:0)

使用POI,下面的代码来自Javascript API,所以语法略有不同。

  var POITruck1038=new MQA.Poi({lat:truckLatitude, lng:truckLongitude});
  map.addShape(POITruck1038);

答案 1 :(得分:0)

您可以绘制标记:

    ... ...
    List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.marker);

    //myItemlizedOverLay is your customised ItemizedOverlay
    myItemlizedOverLay itemizedoverlay = new myItemlizedOverLay(drawable, this);

    GeoPoint point = new GeoPoint(dummyLatitude,dummyLongitude);            
    OverlayItem overlayitem = new OverlayItem(point, "address_name", "address");

    itemizedoverlay.addOverlay(overlayitem);
    mapOverlays.add(itemizedoverlay);
    map.getController().animateTo(point);
    ... ...
希望这有帮助。