How to add Map Marker on Maps for OpenMapQuest

424 Views Asked by At

I am trying to add map marker on my map

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;
    }
}

I am getting the output::

enter image description here

How to get a output like this::(We can notice the below image has pinpoint pointed )

enter image description here

2

There are 2 best solutions below

0
On BEST ANSWER

You can draw the marker something like:

    ... ...
    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);
    ... ...

hope this help.

1
On

Use a POI, below code is from the Javascript API so a little different syntax.

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