Где найти метод для установки точки привязки значка булавки аннотации? - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь установить один значок булавки аннотации в центре карты, чтобы выбрать исходное местоположение. Но я не могу найти какой-либо метод для установки точки привязки этого значка с аннотацией, как это обеспечивает Android SDK.

Ссылочный метод с Android:

startMarker.SetAnchor(p0, p1);

1 Ответ

0 голосов
/ 09 мая 2018

MapmyIndia 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 определяет положение маркеров относительно его географической точки на карте. то есть. Нижняя, Верхняя, Центральная и т. Д.

Если вы хотите зафиксировать положение маркера в центре карты, лучший способ сделать это:

<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, вам понадобится указатель внизу, чтобы указать центр карты. Вот почему я использовал ориентир.

Если ваш маркер круглый. то есть. Вы хотите, чтобы центр маркера находился в центре карты, затем просто используйте вид изображения и отметьте его гравитацию в качестве центра.

Теперь ваш маркер всегда будет указывать на центр карты, чтобы получить позицию, которую вы можете просто написать

mMapView.getMapCenter()
...