-1

我正在尝试将一个注释图钉图标设置到地图的中心以选择源位置。但是我找不到任何方法来设置 Android SDK 提供的注释图钉图标的锚点。

来自Android的参考方法:

startMarker.SetAnchor(p0, p1);
4

1 回答 1

0

MapmyIndi​​a Map SDK 确实可以选择设置标记的锚点(注释)

marker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);

完整代码:

import com.mmi.layers.Marker;
Marker marker= new Marker(mMapView);
marker.setPosition(geoPoint);
marker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
mMapView.getOverlays().add(marker);
mMapView.invalidate();

注意:标记必须有一个地理点来指出它在地图上的位置。Anchor 属性定义了标记相对于其在地图上的地理点的位置。IE。底部、顶部、中心等

如果要将标记位置固定到地图的中心,最好的方法是:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.mmi.MapmyIndiaMapView
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <View
            android:id="@+id/guideline"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_centerInParent="true"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/your_pin_marker"
            android:layout_above="@+id/guideline"
            android:layout_centerHorizontal="true"
            />

    </RelativeLayout>

如果您有 Pin/Pointer 类型的标记,您将希望指针底部指向地图的中心。这就是我使用指南视图的原因。

如果你的标记是圆形的。IE。您希望标记的中心位于地图的中心,然后只需使用图像视图并将其重力标记为中心。

现在您的标记将始终指向地图中心,以获得您可以简单地写的位置

mMapView.getMapCenter()
于 2018-05-09T05:01:40.090 回答