2014-02-17 52 views
0

執行應用程序時,它會在Google地圖片段上顯示標記並在點擊時在瀏覽器中打開鏈接,但我有一個標記,不希望發生這種情況。在不同的方法中定義的內部類中不能引用非最終變量pcurl1

GoogleMap mMap; 
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.fragment1)).getMap(); 
mMap.addMarker(new MarkerOptions() 
    .position(new LatLng(lat3, lng3)) 
    .snippet(bud1) 
    .title(name1)); 
mMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() { 
    @Override 
    public void onInfoWindowClick(Marker marker) { 
     Uri uriUrl = Uri.parse(pcurl1); 
     Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl); 
     startActivity(launchBrowser); 
    } 
}); 

現在我要實現在一個onInfoWindowClick()if (.... != "Your Position")我不知道如何檢查標記的標記這裏面的內容。

編輯:新問題發生,這是「無法指非最終變量pcurl1在不同的方法中定義的內部類內側」和becasue它被設置在一個循環內,如果我將它設置最後它破壞它的的Funktion 。

+0

嘗試這種 經緯度位置= marker.getPosition();將返回lng和lat給你,並使你的條件關於它 –

+0

@mohammedmomn我甚至可以檢查標記的顏色?因爲Lat Lng不斷變化,並不完全可靠。 – user3196789

+0

您可以將標記保存在HashMap中,並檢查它是否需要在地圖上標識標記 –

回答

0

addMarker方法返回Marker對象。對於您的位置標記,請保存爲字段,例如myLocationMarker和在回調做

if (!marker.equals(myLocationMarker)) { 
    // ... 
相關問題