2017-03-01 133 views
3

我有以下代碼,我想顯示標記,地點的經度和緯度存儲在數組中,但我的標記沒有顯示在地圖上我不知道爲什麼:我打印的檢查值,這些值是正確的,但在你的onMarkerClick()還真marrker未顯示標記沒有顯示在谷歌地圖

if (f[l].equals(restTypefrag[n])) { 
        Log.i("okkk", "lattitude " + la[n] + "longtitude " + lo[n] +"name " + namefrag[n]); 
        **Marker marker= mMap.addMarker(new MarkerOptions().position(new 
          LatLng(la[n], lo[n])).title("" + namefrag[n]));** 
        mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 
         @Override 
         public boolean onMarkerClick(Marker marker) { 
          // Log.i("okkk", " On marker Click "); 
          AlertDialog.Builder alertadd = new AlertDialog.Builder(getActivity()); 
          LayoutInflater factory = LayoutInflater.from(getActivity()); 
          final View view = factory.inflate(R.layout.alert, null); 
          TextView alertName=(TextView) view.findViewById(R.id.tv_name); 
          TextView alertDeal=(TextView) view.findViewById(R.id.tv_deal); 
          String temp=marker.getTitle(); 
          for (int i=0;i<namefrag.length;i++) 
          { 
           // Log.i("okkk", " Name: " + temp); 
           if (temp.equals(namefrag[i])) 
           { 
            tempName=namefrag[i]; 
            tempDeal=dealfrag[i]; 
            Log.i("okkk", " Name: " + namefrag[i]); 
           } 
          } 
          RatingBar alertRating=(RatingBar) view.findViewById(R.id.rb_alert); 
          alertRating.setNumStars(5); 
          alertRating.setRating(3.5f); 
          alertName.setText(tempName); 
          alertDeal.setText(tempDeal); 
          alertadd.setView(view); 
          alertadd.show(); 
          return false; 
         } 
        }); 
        Notifications(namefrag[l], distance[Index]); 
+0

調用'marker.showInfoWindow();'方法再試試。 –

+0

@aksacha無法正常工作 – SFAH

回答

0

用作這樣的...

Marker marker= mMap.addMarker(new MarkerOptions().position(new LatLng(la[n], lo[n])).title("" + namefrag[n])).icon(BitmapDescriptorFactory.fromResource(R.drawable.driver_img)); 
0

@Override 
public boolean onMarkerClick(Marker marker) { 
    marker.showInfoWindow(); 
    return true; 
} 
+0

無法正常工作:// – SFAH

0

您是否爲您的標記圖標?

map.addMarker(new MarkerOptions() 
       .position(new LatLng(myLat, myLong)) 
       .title("Bla Bla").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED))); 

我認爲它沒有在你的代碼中設置。 請嘗試將圖標設置爲標記。

+0

我試過但仍未顯示標記 – SFAH

+0

您可以分享完整的課程,以便我可以完全檢查它嗎? – Priyavrat

0

你確定你的變量la[n]lo[n]是雙重的嗎?

如果他們是字符串,您可以使用Double.parseDouble(String)將它們轉換爲雙:

double lat = Double.parseDouble(la[n]); 
double lon = Double.parseDouble(lo[n]); 
Marker marker = mMap.addMarker(new MarkerOptions().position(new 
         LatLng(lat, lon)).title("" + namefrag[n])); 
+0

是的,他們有很長的數據類型 – SFAH