我正在开发一个应用程序使用谷歌地图API。 我想添加一个标记,用户在地图上按下并在用户创建的标记之间绘制一条线。如何添加无限标记点击 - 谷歌地图api
我尝试添加方法SetOnMapClickListener,但每次我在虚拟设备中运行我的应用程序时,它都会立即崩溃。 我也尝试在OnCreate方法和OnMapReady中找到方法,但这也不起作用。 我成功只写他们增加新的标记,但...
在我发现我看到他们与分配mapFragment.getMap()在谷歌地图对象一些教程,但是我没有这个方法。 谢谢!
这里是我的代码:
package com.example.user.testmap;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
double lit = latLng.latitude;
double lon = latLng.longitude;
mMap.addMarker(new MarkerOptions().position(new LatLng(lit, lon)));
}
});
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
mMap.addMarker(new MarkerOptions().position(new LatLng(20, 5)));
mMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(20, 5)));
}
}
请问您可以显示您的代码吗?当你问你的问题时,你必须付出极大的努力。 –
对不起,我是新来的,我编辑了这篇文章。 –
将logcat错误添加到您的帖子。堆栈跟踪将指向失败 – Shmuel