Google지도 확장 라이브러리를 사용하고 있습니다. 나는 이것을 가지고있다 :마커 정보 창에서 데이터를 가져 오지 못함을 클릭하십시오. Google 맵 v2 android
int nsize = visibleMarkers.size();
for (int i = 0; i < nsize; i++) {
String title = visibleMarkers.valueAt(i).getTitle();
String desc = visibleMarkers.valueAt(i).getDesc();
Float latitude = visibleMarkers.valueAt(i).getLat();
Float longitude = visibleMarkers.valueAt(i).getLon();
m = map.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title(title)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.snotel_marker)));
}
그리고 맵은 모든 마커로 잘 채워질 것이다.
난 클릭에 마커 창에서 설명과 제목을 볼 수있는 토스트에 데이터를 추가하는 것을 시도하고있다 :이 setOnInfoWindow 수신기를 추가 할 때map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Toast.makeText(MainActivity.this,
"Title: " + visibleMarkers.valueAt(i).getTitle(),
Toast.LENGTH_SHORT).show();
}
});
, i
변수가 최종해야합니다. 내 visibleMarkers SparseArray에서 마커의 제목을 얻고 싶습니다. 그러나 클릭하는 마커에서 데이터를 가져 오는 방법을 파악할 수 없습니다. . descit (마침표)를 사용하면 마커 클릭에 대한 정보가 표시되므로 desc에 정보가 있음을 알고 있습니다.
무엇이 여기에 있습니까?
int nsize = visibleMarkers.size();
for (int i = 0; i < nsize; i++) {
MapMarkers marks = new MapMarkers();
String title = visibleMarkers.valueAt(i).getTitle();
String desc = visibleMarkers.valueAt(i).getDesc();
Float latitude = visibleMarkers.valueAt(i).getLat();
Float longitude = visibleMarkers.valueAt(i).getLon();
m = map.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title(title)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.snotel_marker)));
marks.setTitle(title);
marks.setDesc(desc);
markerInfo.put(m, marks);
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
MapMarkers markInfo = markerInfo.get(marker);
Intent i = new Intent(MainActivity.this,
MarkerInformation.class);
i.putExtra("name", markInfo.getTitle()).putExtra(
"description", markInfo.getDesc());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
});
}
합니까 올바른 것 :
편집 :::
나는 다른 배열에 마커 m 내 데이터를 추가 내 onPostExecute를 변경? 모두의
이 정보는 어떻게 얻을 수 있습니까? visibleMarkers ??? ??? 나에게 데이터를주는 것은 보이지 않는다. 응답 해 주셔서 감사합니다. – jasonflaherty
@jasonflaherty marker.getTitle()은 어떨까요? –
그래, @ MaciejGórski가 'marker.getTitle()'을 말하자. 여기서 마커는 'onInfoWindowClick'메서드에서받은 객체입니다. –