2010-08-31 114 views
4

我已經看到有關此問題的幾個問題,但沒有可靠的答案。當用戶放大/縮小時縮放Android MapView標記

我有一個MapView,根據用戶放大或縮小的距離,可以在地圖上生成多達1600個位置。截至目前,我的應用程序中只有一個可繪製的標記。如何檢測用戶是否放大/縮小,然後相應地縮放標記。我並不關心縮放部分,而是使用縮放監聽部分。有沒有人爲這個小問題開發過解決方案,或者可以指出我正確的方向來創建自己的?

另外,據我所知,沒有Android提供的默認標記。我對此有糾正嗎?如果Android有一個內置的標記,可以根據縮放級別處理縮放比例,那將會很不錯。

回答

1

這是一個關於縮放事件線程,它可以幫助你: On zoom event

希望它可以幫助基於變焦

0

標記不會改變大小。如果您想要這種效果,請使用GroundOverlays。 src

GoogleMap map = ...; // get a map. 
BitmapDescriptor image = ...; // get an image. 
LatLngBounds bounds = ...; // get a bounds 
// Adds a ground overlay with 50% transparency. 
GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions() 
    .image(image) 
    .positionFromBounds(bounds) 
    .transparency(0.5)); 

地面疊加層是固定到地圖和與地圖變焦縮放的圖像。請參閱API更多信息

參見相關的帖子:Scale Map Markers by Zoom, Android

0

我'使用

LatLng latLng = new LatLng(-16.50881576338701,-68.13492067606603); 
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.raw.ic_car_1); 
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap); 
     googleMap.addGroundOverlay(new GroundOverlayOptions() 
      .image(bitmapDescriptor) 
      .position(latLng,100)); 

該文檔在google maps docs GroundOverlayOptions