2013-06-27 64 views
5

我知道這已在之前討論過,但實際上我找不到解決方案。Android Maps v2自定義標記在變焦上的位置不正確

我增加了自定義圖標爲我的標記:

markerUserLocation = mMap.addMarker(new 
         MarkerOptions().position(new 
           LatLng(point.latitude, 
             point.longitude)) 
           .anchor(0.5f, 1.0f) 
           .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_marker_my_location))); 

的問題是輸入/輸出標記變得定位在一個不好的地方變焦時。

我試圖玩錨值,但沒有成功。是不是圖像的默認錨中/底部? 我需要做什麼,實際上保持標記的底部在指定的點座標,獨立於縮放級別?

這是ic_marker_my_location圖標示例(xhdpi大小),因爲我無法上傳原始圖標。 enter image description here

LE:這是一個非常愚蠢的,但如果我使用較小的標記圖像...它工作正常......所以也許有一個標記資源圖像大小的錯誤?或者如果圖像更大,我需要設置一些額外的參數?

+0

你可以添加你的ic_marker_my_location.png文件到這個問題嗎? –

+0

我剛剛添加了相同尺寸的樣本 – Alin

+0

我正在使用「開放式街道地圖」,並且遇到同樣的問題,此前應用程序向我顯示了正確的當前位置,但現在它顯示爲提前10公里! – TharakaNirmana

回答

0

我設法使一個新的標誌PNG來解決該問題。基本上做了一個相同大小的新PNG,並重新創建圖像...現在它的工作。所以我不知道到底發生了什麼,也許地圖控件不喜歡某些邊距或其他東西。

0

可能是你實際上傳遞了緯度和經度的浮點值。請在雙值傳遞這樣的..

private double lat = 13.005039; 
private double lng = 77.57734; 


mMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)); 
0
used this code 

// Creating a marker 
       MarkerOptions markerOptions = new MarkerOptions(); 

       // Getting a place from the places list 
       HashMap<String, String> hmPlace = list.get(i); 

       // Getting latitude of the place 
       double lat = Double.parseDouble(hmPlace.get("lat"));     

       // Getting longitude of the place 
       double lng = Double.parseDouble(hmPlace.get("lng")); 

       // Getting name 
       String name = hmPlace.get("place_name"); 

       // Getting vicinity 
       String vicinity = hmPlace.get("vicinity"); 

       LatLng latLng = new LatLng(lat, lng); 

       // Setting the position for the marker 
       markerOptions.position(latLng); 

       // Setting the title for the marker. 
       //This will be displayed on taping the marker 
       markerOptions.title(name); 
       markerOptions.snippet(vicinity); 

       // Placing a marker on the touched position 
       mGoogleMap.addMarker(markerOptions);    
+0

附近是什麼? –

5

我最近遇到過類似的問題。在我看來,標記的setIcon(位圖位圖)函數存在一個錯誤。

只要我改變標記的圖像,錨點就搞砸了,所以我不得不將它重新設置到默認位置。

marker.setIcon(bitmap); 
marker.setAnchor(0.5f,1f); 

,使用播放服務(8.4.0)工作對我來說

+0

謝謝!自從幾天前我開始有同樣的問題,我不知道這個問題。你救了我的命! – Ton

+0

是的是的,一千年的時間是! –

+0

這還沒有解決我的問題,圖標仍然在不同的縮放級別上顯示不正確。 –

0

我有同樣的問題,但是發表邁克T中的錨的解決方案,我沒有工作。

對我而言,工作原理是將我的原始圖像轉換爲矢量(svg)。當我放大或縮小地圖時,這會阻止我的自定義標記在地圖上移動。

相關問題