gpt4 book ai didi

android - 使用 Google Maps Android API v2 缩放时标记会移动

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:55:23 26 4
gpt4 key购买 nike

当使用 Google Maps Android API v2 在 map 上添加一些标记时,标记未设置到正确的位置并在缩放时移动。

当放大时,它们会更接近正确的位置,就好像它们被与缩放相关的因素平移了一样。

怎么了?

放大示例:

enter image description here enter image description here enter image description here

fragment

public class CenterMapFragment extends Fragment {

private GoogleMap mMap;
private List<Center> mCenterList;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

return inflater.inflate(R.layout.center_map_fragment, container, false);
}

@Override
public void onActivityCreated (Bundle savedInstanceState){

super.onActivityCreated(savedInstanceState);

mMap = ((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();

if (mMap != null) {

mCenterList = MyApplication.dbHelper.getAllCenter();

for(Center center : mCenterList){

mMap.addMarker(new MarkerOptions().position(new LatLng(center.lat, center.lng)).icon(BitmapDescriptorFactory
.fromResource(R.drawable.myicon)));

}
}

}

}

布局

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />

最佳答案

对于自定义标记,您还需要使用

MarkerOptions.anchor(float u, float v)

描述了标记上的指针点在哪里。默认情况下,该点位于图像的中下部。

关于android - 使用 Google Maps Android API v2 缩放时标记会移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com