2017-04-19 45 views
0

我正在使用HERE地圖Android SDK。我已訂閱OnGestureListener,如下所示。 onMapObjectsSelected方法僅返回實際點擊的標記。我想標記附近的標記(半徑內)從onTapEvent選擇。如何在HERE地圖上的挖掘點選擇特定半徑範圍內的所有標記

mapFragment.getMapGesture().addOnGestureListener(mlistener); 

MapGesture.OnGestureListener mlistener = 
    new MapGesture.OnGestureListener.OnGestureListenerAdapter() { 
    @Override 
    public boolean onTapEvent(PointF pointF) { 
     int radius = 500; // 500 meter      
     // How can I select all available markers within 500 mtr radius 
     // from point PointF. 
     return super.onTapEvent(pointF); 
    } 

    @Override 
    public boolean onMapObjectsSelected(List<ViewObject> objects) { 
     // Selected markers should be auto listed within objects list 
    } 
}; 

回答

0

使用Map#getSelectedObject與視圖rect。視圖應該計算爲以米爲單位的某個半徑的圓的最小邊界平方。之後,您可以過濾結果以刪除所選對象矩形內返回的大於所需距離的任何對象。

+0

感謝@David的回覆。這將根據需要提供對象列表,但是如何將它們標記爲選中狀態,以便在「onMapObjectsSelected」事件中獲得同一組對象? –

+0

你是什麼意思作爲「選擇」這將返回的對象集,所以你可以在語法上做些什麼與他們。 onMapObjectSelected僅在用戶觸摸屏幕時觸發,並且基於小觸摸選擇。 –

+0

好吧,這意味着onMapObjectSelected只能觸發一組通過用戶觸摸選擇的對象而不是自定義的修改列表。無論如何,你的解決方案是有意義的,並將工作。謝謝。 –

相關問題