簡體   English   中英

OSMDROID OnItemGestureListener

[英]OSMDROID OnItemGestureListener

我需要有關osmdroid功能的代碼方面的幫助,當我點擊標記時,它不會返回標題和描述

誰能幫我...這是我的

import java.util.ArrayList;
import org.osmdroid.util.GeoPoint;
 import org.osmdroid.views.MapController;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.ItemizedIconOverlay;
import org.osmdroid.views.overlay.ItemizedIconOverlay.OnItemGestureListener;
import org.osmdroid.views.overlay.OverlayItem;
import org.osmdroid.views.overlay.ScaleBarOverlay;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class AndroidOpenStreetMapViewActivity extends Activity {

private MapView myOpenMapView;
private MapController myMapController;

ArrayList<OverlayItem> anotherOverlayItemArray;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    myOpenMapView = (MapView)findViewById(R.id.openmapview);
    myOpenMapView.setBuiltInZoomControls(true);
    myMapController = myOpenMapView.getController();
    myMapController.setZoom(2);

    //--- Create Another Overlay for multi marker
    anotherOverlayItemArray = new ArrayList<OverlayItem>();
    anotherOverlayItemArray.add(new OverlayItem(
      "0, 0", "0, 0", new GeoPoint(0, 0)));
    anotherOverlayItemArray.add(new OverlayItem(
      "US", "US", new GeoPoint(38.883333, -77.016667)));
    anotherOverlayItemArray.add(new OverlayItem(
      "China", "China", new GeoPoint(39.916667, 116.383333)));
    anotherOverlayItemArray.add(new OverlayItem(
      "United Kingdom", "United Kingdom", new GeoPoint(51.5, -0.116667)));
    anotherOverlayItemArray.add(new OverlayItem(
      "Germany", "Germany", new GeoPoint(52.516667, 13.383333)));
    anotherOverlayItemArray.add(new OverlayItem(
      "Korea", "Korea", new GeoPoint(38.316667, 127.233333)));
    anotherOverlayItemArray.add(new OverlayItem(
      "India", "India", new GeoPoint(28.613333, 77.208333)));
    anotherOverlayItemArray.add(new OverlayItem(
      "Russia", "Russia", new GeoPoint(55.75, 37.616667)));
    anotherOverlayItemArray.add(new OverlayItem(
      "France", "France", new GeoPoint(48.856667, 2.350833)));
    anotherOverlayItemArray.add(new OverlayItem(
      "Canada", "Canada", new GeoPoint(45.4, -75.666667)));

    ItemizedIconOverlay<OverlayItem> anotherItemizedIconOverlay 
     = new ItemizedIconOverlay<OverlayItem>(
       this, anotherOverlayItemArray, myOnItemGestureListener);
    myOpenMapView.getOverlays().add(anotherItemizedIconOverlay);
    //---

    //Add Scale Bar
    ScaleBarOverlay myScaleBarOverlay = new ScaleBarOverlay(this);
    myOpenMapView.getOverlays().add(myScaleBarOverlay);
}

OnItemGestureListener<OverlayItem> myOnItemGestureListener
= new OnItemGestureListener<OverlayItem>(){

 @Override
  public boolean onItemLongPress(int arg0, OverlayItem arg1) {
 // TODO Auto-generated method stub
 return false;
  }

 @Override
  public boolean onItemSingleTapUp(int index, OverlayItem item) {
  Toast.makeText(AndroidOpenStreetMapViewActivity.this, 
 item.mDescription + "\n"
 + item.mTitle + "\n"
 + item.mGeoPoint.getLatitudeE6() + " : " + item.mGeoPoint.getLongitudeE6(), 
 Toast.LENGTH_LONG).show();
 return true;
}

};

}

謝謝...,誰能建議一種顯示標題和描述的方法嗎?

代替ItemizedIconOverlay,使用:

暫無
暫無

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

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