M.A*_*ali 8 android android-maps android-maps-v2
在我的Android应用程序中,我需要将标记放在地图上的确切位置.我用51.507351,-0.127758(伦敦)位置在地图上标记了一个标记.我使用以下代码来完成工作.
googleMap.addMarker(new MarkerOptions().position(
new LatLng(51.507351, -0.127758)).icon(
BitmapDescriptorFactory.fromBitmap(BitmapFactory
.decodeResource(getResources(),
R.drawable.q_icon))));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(51.507351, -0.127758), 20));
Run Code Online (Sandbox Code Playgroud)
这是我的标记可绘图像:
现在我的问题是,"Q"符号位于51.507351,-0.127758的位置.我需要将标记放在底部箭头开始的位置.
请查看图片,以便了解我的问题.
我怎样才能做到这一点?请帮我.
Ion*_*gru 23
标记如何锚定的逻辑是这样的:
0,0 0.5,0.0 1,0
*-----+-----+-----+-----*
| | | | |
| | | | |
0,0.5 +-----+-----+-----+-----+ 1,0.5
| | | X | | (U, V) = (0.7, 0.6)
| | | | |
*-----+-----+-----+-----*
0,1 0.5,1.0 1,1
还要考虑到,根据您的位图资源,它的位置可能与您预期的略有不同,因为它们实际上接近最近的捕捉位置.因此,在上面的示例中,您的锚点将捕捉到此位置:
*-----+-----+-----+-----*
| | | | |
| | | | |
+-----+-----+-----X-----+ (X, Y) = (3, 1)
| | | | |
| | | | |
*-----+-----+-----+-----*
jlh*_*ora 11
使用MarkerOption的anchor方法:https://developers.google.com/android/reference/com/google/android/gms/maps/model/MarkerOptions.html#anchor(float,%20float)
对于你的情况:
MarkerOptions marker = new MarkerOptions()
.anchor(0.5f, 1.0f)
// Rest of the properties follow
Run Code Online (Sandbox Code Playgroud)
尝试这个,
private GoogleMap mMap;
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.addMarker(new MarkerOptions()
.position(new LatLng(0, 0))
.title("Hello world")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9231 次 |
| 最近记录: |