在Google Map API V2中禁用MyLocation中的中心按钮

时间:2013-01-17 09:56:35

标签: android google-maps

我在网上搜索了很多,但我找不到任何回答我问题的内容。 当我使用

启用MyLocation时
  

gmap.setMyLocationEnabled(真)

我会自动获得一个按钮,将地图置于当前位置的中心位置。 我想删除它,所以我问你如何做到这一点。 我希望你们中的某些人可以帮助我!

3 个答案:

答案 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链接。