栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Google地图:当前位置标记(GMaps的定期更新)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Google地图:当前位置标记(GMaps的定期更新)

蓝点和精确度圆由地图自动管理,您无法对其进行更新或更改其符号系统。实际上,它是使用自己的LocationProvider自动管理的,因此可以获得最佳的位置解析度(您无需编写代码即可对其进行更新,只需使用即可启用它

mMap.setMyLocationEnabled(true);
)。

如果要模拟它的行为,可以编写如下代码(您应该禁用我的location层

mMap.setMyLocationEnabled(false);
):

private BitmapDescriptor markerDescriptor;private int accuracyStrokeColor = Color.argb(255, 130, 182, 228);private int accuracyFillColor = Color.argb(100, 130, 182, 228);private Marker positionMarker;private Circle accuracyCircle;@Overrideprotected void onCreate(Bundle savedInstanceState) {    // ...    markerDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.yourmarkericon);}@Overridepublic void onLocationChanged(Location location) {    double latitude = location.getLatitude();    double longitude = location.getLongitude();    float accuracy = location.getAccuracy();    if (positionMarker != null) {        positionMarker.remove();    }    final MarkerOptions positionMarkerOptions = new MarkerOptions() .position(new LatLng(latitude, longitude)) .icon(markerDescriptor) .anchor(0.5f, 0.5f);    positionMarker = mMap.addMarker(positionMarkerOptions);    if (accuracyCircle != null) {        accuracyCircle.remove();    }    final CircleOptions accuracyCircleOptions = new CircleOptions() .center(new LatLng(latitude, longitude)) .radius(accuracy) .fillColor(accuracyFillColor) .strokeColor(accuracyStrokeColor) .strokeWidth(2.0f);    accuracyCircle = mMap.addCircle(accuracyCircleOptions);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609778.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号