【发布时间】:2017-10-07 12:20:25
【问题描述】:
在我的应用程序中,我在地图的布局中心设置了一张图片,我希望在拖动 googleMap 时显示此图片的 latLong(标记)。
布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/mainToolbar"
layout="@layout/toolbar_main" />
<fragment
android:id="@+id/mainMap"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/mainToolbar"
tools:context="com.tida.utils.safine.Activities.MainActivity" />
<ImageView
android:id="@+id/location_setter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/ic_location_origin_pin" />
</RelativeLayout>
Java 代码:
public class MainActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private UiSettings mUiSettings;
private CameraUpdate mapCenter, mapZoom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.mainMap);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mUiSettings = mMap.getUiSettings();
mUiSettings.setScrollGesturesEnabled(true);
mUiSettings.setZoomGesturesEnabled(true);
mUiSettings.setTiltGesturesEnabled(true);
mUiSettings.setRotateGesturesEnabled(true);
/*Set center of Tehran location*/
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(35.724414, 51.427059), 18.0f));
/*Map listener*/
mMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
@Override
public void onMarkerDragStart(Marker marker) {
Log.e("mapDrag", "DragStart : " + marker.getPosition());
}
@Override
public void onMarkerDrag(Marker marker) {
Log.e("mapDrag", "Drag : " + marker.getPosition());
}
@Override
public void onMarkerDragEnd(Marker marker) {
Log.e("mapDrag", "DragEnd : " + marker.getPosition());
}
});
}
}
如何设置我的标记图像并获得这个位置?
【问题讨论】:
标签: android google-maps