我在网上搜索了很多,但我找不到任何回答我问题的内容。 当我使用
启用MyLocation时gmap.setMyLocationEnabled(真)
我会自动获得一个按钮,将地图置于当前位置的中心位置。 我想删除它,所以我问你如何做到这一点。 我希望你们中的某些人可以帮助我!
答案 0 :(得分:156)
在GoogleMap
对象上调用以下方法后:
map.setMyLocationEnabled(true);
map.getUiSettings().setMyLocationButtonEnabled(false);
您应该会看到当前位置指示符(蓝色圆圈),但无法控制该地图在该位置居中。
答案 1 :(得分:9)
答案非常简单;
gmap.setMyLocationEnabled(true); ==> means "to center the map on my current location"
gmap.setMyLocationEnabled(false); ==> means "NOT to center the map on my current location"
[更新]
如果您要删除地图上的位置按钮,请在代码中搜索以下内容并将其删除;
public void setMyLocationButtonEnabled(View v) {
if (!checkReady()) {
return;
}
// Enables/disables the my location button (this DOES NOT enable/disable the my location
// dot/chevron on the map). The my location button will never appear if the my location
// layer is not enabled.
mUiSettings.setMyLocationButtonEnabled(((CheckBox) v).isChecked());
}
public void setMyLocationLayerEnabled(View v) {
if (!checkReady()) {
return;
}
// Enables/disables the my location layer (i.e., the dot/chevron on the map). If enabled, it
// will also cause the my location button to show (if it is enabled); if disabled, the my
// location button will never show.
mMap.setMyLocationEnabled(((CheckBox) v).isChecked());
}
答案 2 :(得分:2)
你尝试过这样的事吗?
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/backgroundMap"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:uiZoomControls="false"
map:uiCompass="false"
class="com.google.android.gms.maps.SupportMapFragment"/>
除了与标记相关的UI之外,它有效地删除了我的地图上的所有默认UI。 查看this链接了解详情。
修改强>
回复OP的评论,id建议使用自定义位置算法,而不是让谷歌地图API接管。我之前已经完成了它并没有过度痛苦,我只是在地图上放置一个标记让用户知道他在哪里,并使标记可拖动,以便用户可以手动优化他的位置。
检查this链接。