2016-10-19 2 views
0

У меня есть карта, на которой я хочу поместить ImageView с ее кончиком, касающимся экватора. Я дал атрибут centerVertical = true и centerHorizontal = true для ImageView, но он не расположен на экваторе. Я получил центр карты, но хочу, чтобы ImageView располагался на экваторе карты.Место Android ImageView на экваторе карты

Скриншот:

enter image description here

Код:

@Override 
    public void onMapReady(GoogleMap googleMap) { 
     this.googleMap = googleMap; 
     googleMap.getUiSettings().setZoomControlsEnabled(true); 
     googleMap.getUiSettings().setCompassEnabled(true); 
     //center of map 
     LatLng centerOfMap=this.googleMap.getCameraPosition().target; 
} 

marker_view.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <ImageView 
     android:id="@+id/marker_icon_view" 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="162dp" 
     android:contentDescription="@string/app_name" 
     android:src="@drawable/marker" /> 
</RelativeLayout> 

ответ

0

Вы должны использовать маркеры. Вы также можете настроить их. Просмотрите следующие документы от Google и SO.

https://developers.google.com/maps/documentation/android-api/marker

How to create a custom-shaped bitmap marker with Android map API v2

+0

Я хочу, чтобы маркер не виден, даже когда пользователь перемещает карту – jobin

+0

Используя класс Проекции я получил расположение экрана LatLng (0.0,0.0) от экватора, но он показывает, х и значение y равно 0. – jobin

+0

Просто установите двойную высоту в ваш 'drawable/marker', а ее центр должен быть справа внизу. И взгляните на [this] (http://stackoverflow.com/q/40112760/6950238) разговор. –

Смежные вопросы