首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSMDROID OnItemGestureListener

OSMDROID OnItemGestureListener
EN

Stack Overflow用户
提问于 2014-03-21 14:00:10
回答 1查看 705关注 0票数 0

我需要关于osmdroid特性的代码方面的帮助,当我点击标记时,它不会返回标题和描述。

有人能帮我吗..。这是我的

代码

代码语言:javascript
复制
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;
}

};

}

谢谢..。有谁能建议一种显示标题和描述的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-21 18:11:27

而不是使用ItemizedIconOverlay,请使用:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22560921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档