我正嘗試在Android Studio中創建一個適用於Google Maps API的Android應用程序。我已經成功地將地圖上的標記添加到了我選擇的某個LatLng位置。
當標記被點擊時,它會出現一個名爲「測試」的標題。但是我想要的是,當用戶點擊標記標題時,它必須打開一個新的活動。但是,我似乎無法讓它工作。我添加了onMarkerClick,但是,我無法實現它。我很困惑。我試圖添加一個回調方法,但不知道如何。
你只是介意給我看正確的代碼嗎?謝謝,非常感謝提前!如何使用Android Studio中的onMarkerClick來打開新活動
package com.msp.googlemapsproject;
import android.content.Intent;
import android.os.Bundle;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
public class MainActivity extends android.support.v4.app.FragmentActivity
implements GoogleMap.OnMarkerClickListener {
static final LatLng MyHome = new LatLng(-29.759933, 30.801030);
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
googleMap.setOnMarkerClickListener(this);
try{
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
}
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
googleMap.setMyLocationEnabled(true);
googleMap.setTrafficEnabled(true);
googleMap.setIndoorEnabled(true);
googleMap.setBuildingsEnabled(true);
googleMap.getUiSettings().setZoomControlsEnabled(true);
final Marker MyHome_display = googleMap.addMarker(new MarkerOptions().position(MyHome).title("Testing"));
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean onMarkerClick(Marker marker) {
if (marker.equals(MyHome))
{
Intent intent = new Intent(MainActivity.this, LastScreen.class);
startActivity(intent);
}
return false;
}
}
我在我的代碼得到一個錯誤,「不能解析符號‘setOnInfoWindowClickListener’」,它說,「不能解析符號「標記」」。 – MSP
http://stackoverflow.com/questions/16677929/android-google-map-v2-starting-activity-when-clicking-on-marker-infowindow 檢查此鏈接它與您具有相同的問題 – SFAH
它現在工作, 我的道歉。你的代碼是對的,我插錯了!非常感激! – MSP