0
我一直試圖在下面的代碼中的LongMapClick上添加一個新標記。我搜索了很多,但似乎沒有任何工作。我正在使用Android Studio 1.5.1和Google Maps API。我正在Nexus 6P仿真器上測試我的應用程序。 API 23.我把它留在底部的括號之間,我認爲代碼應該去。下面的代碼是在公共類BasicMapDemoActivity擴展AppCompatActivity實現OnMapReadyCallback {我似乎無法弄清楚如何做到這一點。任何人都可以請幫我做到這一點?我可以提供其他可能有用的信息。謝謝!在LongMapClick上添加新標記使用Android Studio和Google Maps API
GoogleMap mMap;
private UiSettings mUiSettings;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.basic_demo);
SupportMapFragment mapFragment =
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
if (item.getItemId() == R.id.menu_legal) {
startActivity(new Intent(this, LegalInfoActivity.class));
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onMapReady(GoogleMap map) {
mMap = map;
mUiSettings = mMap.getUiSettings();
mUiSettings.setZoomControlsEnabled(true);
mUiSettings.setScrollGesturesEnabled(true);
mUiSettings.setZoomGesturesEnabled(true);
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
}
});
mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng point) {
}
});
mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition position) {
float maxZoom = 7.0f;
if (position.zoom > maxZoom) {
mMap.animateCamera(CameraUpdateFactory.zoomTo(maxZoom));
}
}
});
}
}
我真的很感謝您的答覆,但它不是我正在尋找的東西。我希望用戶能夠在LongClick上爲自己的興趣點添加新標記。由於某些原因,我還將maxZoom設置爲7.0f,並且對MyLocation服務沒有興趣。我不確定我的代碼有多遠,但我認爲應該在設置onLongClick監聽器之後進行操作?也不知道我是否應該使用(LatLng點)來實現我想要完成的任務。這有意義嗎? –
mMap.setOnMapClickListener(新GoogleMap.OnMapClickListener(){ @Override 公共無效onMapClick(經緯度點){ mMap.addMarker(新的MarkerOptions() .POSITION(點) 是.snippet( 「」)); } }); –
這就是爲我工作的結果。我相信我只需要在沒有任何LatLng的情況下簡單地確定位置 –