2013-02-11 16 views
2

我知道如何添加點映射。使用谷歌地圖顯示多點Android API v2

private void addMarkertoMap() { 

     LatLng MarkerPos = new LatLng (24.803751, 1.479969); 

     googlemap.addMarker(new MarkerOptions() 

     .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)) 
     .position(MarkerPos) 
     ); 

但是如果我有很多點(數百),我想從GML或KML文件中顯示它們呢?在Google Maps Android API中可用嗎?任何幫助?

謝謝!

+0

@Waza_Be如何做到這一點? – Vis 2013-02-11 23:06:50

+0

你看過我的回答和我的評論嗎? – 2013-02-17 14:28:50

回答

6

您可以添加屏幕上當前可見的標記(儘管請注意,您需要跟蹤您在屏幕上添加的標記,以免重複添加它們。你甚至可能想刪除那些不再可見的那些)

mMap.setOnCameraChangeListener(new OnCameraChangeListener() { 
    @Override 
    public void onCameraChange(CameraPosition position) { 
     final LatLngBounds screenBounds = mMapView.getProjection().getVisibleRegion().latLngBounds; 
     for (YourPoint point : mPoints) { 
     if (screenBounds.contains(point.getLatLng()) { 
      mMapView.addMarker(point.getLatLng()); 
     } 
     } 
    } 
} 
0

回答你的問題:是的,這是可能的。

for (int i = 0; i < 10; i++) { addMarker(/* Something*/); } 

現在,這可能是時候想想..你真的需要在地圖上顯示數百個點嗎? 也許你只能顯示20個最近的點,或30個以上的相關點...

你能否請你重新填寫你的問題,以便我們能夠回答並理解你想要什麼。

很難理解你想要什麼,問題在哪裏。

+0

我在GML文件中有452點(Lat Lon),我必須在地圖上顯示它們。我的問題是如何做到這一點?謝謝! – Vis 2013-02-11 23:11:18

+0

@Vis:「怎麼做?」 - 調用'addMarker()'452次。雖然我同意Waza_Be,您的用戶將不會對您的應用的可用性感到滿意。 – CommonsWare 2013-02-12 00:48:50

+0

@Vis for(int i = 0; i <10; i ++){addMarker(/ * Something * /); } – 2013-02-12 15:30:55