簡體   English   中英

標記未顯示在谷歌地圖上

[英]Markers not shown at google map

我有以下代碼,我想顯示標記,地方的緯度和經度存儲在數組中,但我的標記沒有顯示在地圖上我不知道為什么:| 我打印這些值是為了檢查值是否正確但是沒有顯示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]);

在你的onMarkerClick()返回true。

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

像這樣使用......

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

您是否為標記設置了圖標?

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

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

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

如果它們是String,您可以使用Double.parseDouble(String)將它們轉換為double:

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]));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM