Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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)_Android_Here Api - Fatal编程技术网

如何执行地图标记单击此处地图(android)

如何执行地图标记单击此处地图(android),android,here-api,Android,Here Api,我在用地图。我发现了一个问题如何知道单击了哪个标记? @Override public boolean onMapObjectsSelected(List<ViewObject> list) {..) @覆盖 公共布尔值onmabjectsselected(列表){..) 使用On手势监听器,我得到了这个方法,但如何找到特定的地图标记对象和地图标记标题等。要获得单击的标记,请按照下面的onmabjects selected方法进行操作 for (ViewObject viewOb

我在用地图。我发现了一个问题如何知道单击了哪个标记?

@Override
public boolean onMapObjectsSelected(List<ViewObject> list) {..)
@覆盖
公共布尔值onmabjectsselected(列表){..)

使用On手势监听器,我得到了这个方法,但如何找到特定的地图标记对象和地图标记标题等。

要获得单击的标记,请按照下面的
onmabjects selected
方法进行操作

for (ViewObject viewObject : list) {
    if (viewObject.getBaseType() == ViewObject.Type.USER_OBJECT) {
        MapObject mapObject = (MapObject) viewObject;

        if (mapObject.getType() == MapObject.Type.MARKER) {

           MapMarker window_marker = ((MapMarker) mapObject);

           System.out.println("Title is................."+window_marker.getTitle());

              return false;
            }
        }
   }
您必须找出上面循环中选择的对象类型。

@Override
  MapGesture.OnGestureListener onGestureListenernew= new 
  MapGesture.OnGestureListener() {
    @Override
    public void onPanStart() {

    }

    @Override
    public void onPanEnd() {

    }

    @Override
    public void onMultiFingerManipulationStart() {

    }

    @Override
    public void onMultiFingerManipulationEnd() {

    }

    @Override
    public boolean onMapObjectsSelected(List<ViewObject> list) {

        for (ViewObject viewObject : list) {
            if (viewObject.getBaseType() == ViewObject.Type.USER_OBJECT) {
                MapObject mapObject = (MapObject) viewObject;

                if (mapObject.getType() == MapObject.Type.MARKER) {

                    MapMarker window_marker = ((MapMarker)mapObject);
                     Log.d("danish","danish");
                    System.out.println("Title is................."+window_marker.getInfoBubbleHashCode());
                    Toast.makeText(m_activity,"Hello"+window_marker.getCoordinate(),Toast.LENGTH_LONG).show();
                    return false;
                }
            }
        }
        return false;
    }

    @Override
    public boolean onTapEvent(PointF pointF) {

        return false;
    }

    @Override
    public boolean onDoubleTapEvent(PointF pointF) {
        return false;
    }

    @Override
    public void onPinchLocked() {

    }

    @Override
    public boolean onPinchZoomEvent(float v, PointF pointF) {
        return false;
    }

    @Override
    public void onRotateLocked() {

    }

    @Override
    public boolean onRotateEvent(float v) {
        return false;
    }

    @Override
    public boolean onTiltEvent(float v) {
        return false;
    }

    @Override
    public boolean onLongPressEvent(PointF pointF) {
        return false;
    }

    @Override
    public void onLongPressRelease() {

    }

    @Override
    public boolean onTwoFingerTapEvent(PointF pointF) {
        return false;
    }
};
已选择公共布尔OnMapObject(列表){ 用于(视图对象视图对象:列表){ if(viewObject.getBaseType()==viewObject.Type.USER\u对象){ MapObject MapObject=(MapObject)viewObject; if(mapObject.getType()==mapObject.Type.MARKER){ MapMarker窗口_marker=((MapMarker)mapObject); Log.d(“Title->”,window_marker.getTitle()); Log.d(“description->”,window_marker.getDescription()); 返回true; } } } 返回false; }
参考链接:嘿thanks@AnkitaShah征求意见,但请仔细阅读问题我正在使用android中的Here map引用链接[Here map api]()引用可能会对您有所帮助。您是否在Here maps上添加了标记?是的,@Akash Patel,但在Here map中,我们使用mapMarker而不是marker mapMarkerDemo=new mapMarker(新地理坐标(lat,lng),myImage);mapMarkerDemo.setTitle(“markerTitle”);mapMarkerDemo.setDescription(“此标记添加用于演示”);hereMap.addMapObject(mapMarkerDemo);但我想在地图标记clickedwell上显示toast或获取地图标记信息,我正在尝试类似的事情{for(ViewObject obj:list){if(obj.getBaseType().equals(MapObject.Type.MARKER)){for(int i=0;im_mapFragment.getMapGesture().addOnGestureListener(onGestureListenernew);
@Override
public boolean onMapObjectsSelected(List<ViewObject> list) {

    for (ViewObject viewObject : list) {
        if (viewObject.getBaseType() == ViewObject.Type.USER_OBJECT) {
            MapObject mapObject = (MapObject) viewObject;

            if (mapObject.getType() == MapObject.Type.MARKER) {

                MapMarker window_marker = ((MapMarker)mapObject);
                Log.d("Title->",window_marker.getTitle());
                Log.d("description->",window_marker.getDescription());
               return true;
            }
        }
    }
    return false;
}