내 애플리케이션에서 Google지도에 마커를 두 개 이상 추가하고 싶습니다. 간단히 말해 하나의 마커를 추가 할 수 있지만 어떻게 여러 마커를 추가 할 수 있는지 모르겠습니다. 내가 어떻게 할 수 있는지 말해줘.android and google map을 사용하는 다중 마커
답변
ItemizedOverlay를 사용하여 다중 레이아웃을 추가 할 수 있습니다. 여기 ItemizedOverlay 의 샘플 코드가`공용 클래스 YourItemizedOverlay는 ItemizedOverlay를 확장 {
private ArrayList<OverlayItem> myOverlays ;
public YourItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
yourOverlays = new ArrayList<OverlayItem>();
populate();
}
public void addOverlay(OverlayItem overlay){
yourOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return yourOverlays.get(i);
}
// Removes overlay item i
public void removeItem(int i){
yourOverlays.remove(i);
populate();
}
@Override
public int size() {
return yourOverlays.size();
}
public void addOverlayItem(OverlayItem overlayItem) {
yourOverlays.add(overlayItem);
populate();
}
public void addOverlayItem(int lat, int lon, String title) {
try {
GeoPoint point = new GeoPoint(lat, lon);
OverlayItem overlayItem = new OverlayItem(point, title, null);
addOverlayItem(overlayItem);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
@Override
protected boolean onTap(int index) {
// TODO Auto-generated method stub
String title = yourOverlays.get(index).getTitle();//display message when you touch your marker
Toast.makeText(YourMapActivity.context, title, Toast.LENGTH_LONG).show();
return super.onTap(index);
}
}`
size()
및 createItem()
방법으로 ItemizedOverlay
개 이상의 마커를 처리해야하는 문제입니다. size()
메서드는 원하는 마커 수를 반환해야하며 createItem()
은 인덱스를 기준으로 각 OverlayItem
을 반환해야합니다.
Here is a sample project 4 개의 마커가있는지도를 보여줍니다.
링크에 감사 드리며 작동합니다 ...하지만 현재 위치에 마커를 추가하고 다른 위치에 다른 마커를 추가하고 싶습니다. 현재 위치를 감지 한 후 마커를 추가 할 수 없습니다 ... 이유를 말해 줄 수 있습니까? –
마커 수가 적 으면 동일한 오버레이 클래스를 여러 번 사용할 수도 있습니다. 기본지도 오버레이는 사용하기가 훨씬 쉽지만 특정 시점 이후에는 매우 비효율적입니다. I는 현재 위치에 대한 클래스의 두 인스턴스를 사용 신고 된 위치는 다음과 같이
는overlayList = mapView.getOverlays();
overlayList.clear();
locationOverlay = new MapOverlay();
pushpinOverlay = new MapOverlay();
PNG 용 마커 ID를 설정은 X 오프셋과 Y 여기서 오프셋. (MapOverlay 클래스에 코드화 된 함수)
결국 무효화하여 다시 그리기를 강제합니다.
두 마커의 경우 매우 잘 작동했습니다.
- 1. 내 사이트에 google map을 사용하는 방법은 무엇입니까?
- 2. Google Maps with Rails 3 다중 마커
- 3. Google Map을 사용한 CSS 레이아웃
- 4. android and iPhone 용 Google 스카이 맵 API
- 5. Google MAP 마커
- 6. Google Sky Map을 응용 프로그램에 통합
- 7. Google 계정을 사용하는 Android SyncAdapter
- 8. gmaps4rails을 사용하는 Google지도의 다른 마커
- 9. Google Maps API 마커 제목
- 10. Google Map 마커 배열 참조
- 11. Google Maps v3의 Bouncy 마커
- 12. 페이지에서 Google 마커 위치 찾기?
- 13. Google Maps & Flex : 맞춤 마커 대신 표준지도 마커를 사용하는 방법
- 14. Google지도에 여러 정보 창이있는 다중 마커 플롯
- 15. Google지도 로컬 JSON 데이터 마커
- 16. struct와 함께 stl map을 사용하는 것이 불가능합니까?
- 17. Android에서 Google지도의 마커 깜박임
- 18. android map draw 맞춤 마커
- 19. android SQLiteOpenHelper and Leaks
- 20. Android 다중 핸들러 디자인
- 21. Google Map의 마커 : XML 포함 또는 제외
- 22. Android hardware.camera and MediaRecorder
- 23. android intents and callbacks
- 24. Xmpp and Android
- 25. android and for loop
- 26. Android and data.gov
- 27. android 2.2 and 2.3
- 28. android, UWB and BlueTooth
- 29. android and power point
- 30. Android Asynctask and progressDialog
이 여러 시장 비트 맵 또는 같은 이미지의 단지 여러 인스턴스를 의미합니까? – NSjonas
예 복수 이미지 .... –