30

我在网上搜索了很多,但我没有找到任何可以回答我的问题的东西。当我启用 MyLocation 时

gmap.setMyLocationEnabled(true)

我会自动获得一个按钮,使地图以我当前的位置为中心。我想删除它,所以我问你怎么做。我希望你们中的某个人可以帮助我!

4

3 回答 3

173

在您的GoogleMap对象上调用以下方法后:

map.setMyLocationEnabled(true);
map.getUiSettings().setMyLocationButtonEnabled(false);

您应该会看到当前位置指示器(蓝色圆圈),但无法将地图置于该位置的中心。

于 2013-03-21T13:30:55.613 回答
10

这是非常简单的答案;

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());
}
于 2013-01-17T10:25:52.267 回答
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。检查链接以获取更多信息。

编辑

回复 OP 的评论,id 建议使用自定义位置算法,而不是让谷歌地图 API 接管。我以前做过,它并不太痛苦,我只是在地图上放了一个标记,让用户知道他在哪里,并使标记可拖动,以便用户可以手动调整他的位置。

检查链接。

于 2013-01-17T09:59:48.500 回答