2016-12-30 25 views
1

マーカーにinfowindowを使用してAndroidでオープンストリートマップを実装する方法はありますか?マーカー上にinfowindowを使ってアンドロイド上でオープンストリートマップを実装する方法は?

OpenStreetMapTileProviderConstants.setUserAgentValue(BuildConfig.APPLICATION_ID); 
     openStreetMap = (MapView)findViewById(R.id.openmapview); 
     openStreetMap.setBuiltInZoomControls(true); 
     openStreetMapController = openStreetMap.getController(); 
     openStreetMapController.setZoom(16); 
     openStreetMap.setMultiTouchControls(true); 

    GeoPoint initialLocation = new GeoPoint(lat , lng); 
    centerMap(initialLocation); 
    addLocation(lat ,lng , R.drawable.marker);} 

これは私のコードとyが、それはGoogleマップ

などの情報ウィンドウ

答えて

1

サンプルがマーカーを使用して、最近追加されました。元のソースは、osmbonuspack's tutorial

からのサンプルは、基本コードがこの

GeoPoint startPoint = new GeoPoint(38.8977, -77.0365); //white house Marker startMarker = new Marker(mMapView); startMarker.setPosition(startPoint); startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM); startMarker.setIcon(getResources().getDrawable(R.drawable.icon)); startMarker.setTitle("White House"); startMarker.setSnippet("The White House is the official residence and principal workplace of the President of the United States."); startMarker.setSubDescription("1600 Pennsylvania Ave NW, Washington, DC 20500"); mMapView.getOverlays().add(startMarker); mMapView.invalidate();

ある here

に配置されています

1

osmdroid wikiHow to use the osmdroid libraryと呼ばれるガイドが含まれていて、マーカーを追加したいです。それには、placing icons on the map with a click listenerに関するセクションが含まれています。

ItemizedOverlayWithFocusは、基本的にOverlayItemで作成する必要があります。各OverlayItemには、タイトル、説明、およびコースの座標が付属しています。 ItemizedOverlayWithFocusMapViewに追加する必要があります。

wikiページの例があります:

//your items 
ArrayList<OverlayItem> items = new ArrayList<OverlayItem>(); 
items.add(new OverlayItem("Title", "Description", new GeoPoint(0.0d,0.0d))); // Lat/Lon decimal degrees 

//the overlay 
ItemizedOverlayWithFocus<OverlayItem> mOverlay = new ItemizedOverlayWithFocus<OverlayItem>(items, 
    new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() { 
    @Override 
    public boolean onItemSingleTapUp(final int index, final OverlayItem item) { 
    //do something 
     return true; 
    } 
    @Override 
    public boolean onItemLongPress(final int index, final OverlayItem item) { 
     return false; 
    } 
}); 
mOverlay.setFocusItemsOnTap(true); 

mMapView.getOverlays().add(mOverlay); 
関連する問題