使用Google Maps Android API v2显示多个点

时间:2013-02-11 23:02:58

标签: android google-maps google-maps-android-api-2

我知道如何添加点到地图。

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?有帮助吗?

谢谢!

2 个答案:

答案 0 :(得分: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());
         }
      } 
   }
}

答案 1 :(得分:0)

回答你的问题:是的,这是可能的。

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

现在,也许是时候想了......你真的需要在地图上显示数百个点吗? 也许你只能显示20个最近的点,或者更多的30个相关点...

请你重新解决你的问题,以便我们能够回答并理解你的想法。

很难理解你想要什么,问题在哪里。