本文整理汇总了Java中org.osmdroid.views.overlay.Marker.setImage方法的典型用法代码示例。如果您正苦于以下问题:Java Marker.setImage方法的具体用法?Java Marker.setImage怎么用?Java Marker.setImage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.osmdroid.views.overlay.Marker
的用法示例。
在下文中一共展示了Marker.setImage方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: putRoadNodes
import org.osmdroid.views.overlay.Marker; //导入方法依赖的package包/类
private void putRoadNodes(Road road){
mRoadNodeMarkers.getItems().clear();
Drawable icon = ResourcesCompat.getDrawable(getResources(), R.drawable.marker_node, null);
int n = road.mNodes.size();
MarkerInfoWindow infoWindow = new MarkerInfoWindow(org.osmdroid.bonuspack.R.layout.bonuspack_bubble, map);
TypedArray iconIds = getResources().obtainTypedArray(R.array.direction_icons);
for (int i=0; i<n; i++){
RoadNode node = road.mNodes.get(i);
String instructions = (node.mInstructions==null ? "" : node.mInstructions);
Marker nodeMarker = new Marker(map);
nodeMarker.setTitle(getString(R.string.step)+ " " + (i+1));
nodeMarker.setSnippet(instructions);
nodeMarker.setSubDescription(Road.getLengthDurationText(this, node.mLength, node.mDuration));
nodeMarker.setPosition(node.mLocation);
nodeMarker.setIcon(icon);
nodeMarker.setInfoWindow(infoWindow); //use a shared infowindow.
int iconId = iconIds.getResourceId(node.mManeuverType, R.drawable.ic_empty);
if (iconId != R.drawable.ic_empty){
Drawable image = ResourcesCompat.getDrawable(getResources(), iconId, null);
nodeMarker.setImage(image);
}
mRoadNodeMarkers.add(nodeMarker);
}
iconIds.recycle();
}
示例2: addOverlays
import org.osmdroid.views.overlay.Marker; //导入方法依赖的package包/类
protected void addOverlays() {
super.addOverlays();
mMapView.setTilesScaledToDpi(true);
mMapView.getController().setZoom(3);
cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
image = getResources().getDrawable(R.drawable.sfppt);
icon =getResources().getDrawable(R.drawable.sfppt_small);
//icon_old=getResources().getDrawable(R.drawable.sfppt_small);
//icon_old.setAlpha(77);
marker = new Marker(mMapView);
marker.setImage(image);
marker.setIcon(icon);
marker.setTitle("International Space Station");
}
示例3: addOverlays
import org.osmdroid.views.overlay.Marker; //导入方法依赖的package包/类
@Override
public void addOverlays() {
super.addOverlays();
myLocation = new Marker(mMapView);
myLocation.setIcon(getResources().getDrawable(org.osmdroid.R.drawable.icon));
myLocation.setImage(getResources().getDrawable(org.osmdroid.R.drawable.icon));
}
示例4: onLongPress
import org.osmdroid.views.overlay.Marker; //导入方法依赖的package包/类
@Override
public boolean onLongPress(final MotionEvent e, final MapView mapView) {
if (markerIcon != null) {
GeoPoint pt = (GeoPoint) mapView.getProjection().fromPixels((int) e.getX(), (int) e.getY(), null);
/*
* <b>Note</b></b: when plotting a point off the map, the conversion from
* screen coordinates to map coordinates will return values that are invalid from a latitude,longitude
* perspective. Sometimes this is a wanted behavior and sometimes it isn't. We are leaving it up to you,
* the developer using osmdroid to decide on what is right for your application. See
* <a href="https://github.com/osmdroid/osmdroid/pull/722">https://github.com/osmdroid/osmdroid/pull/722</a>
* for more information and the discussion associated with this.
*/
//just in case the point is off the map, let's fix the coordinates
if (pt.getLongitude() < -180)
pt.setLongitude(pt.getLongitude()+360);
if (pt.getLongitude() > 180)
pt.setLongitude(pt.getLongitude()-360);
//latitude is a bit harder. see https://en.wikipedia.org/wiki/Mercator_projection
if (pt.getLatitude() > TileSystem.MaxLatitude)
pt.setLatitude(TileSystem.MaxLatitude);
if (pt.getLatitude() < TileSystem.MinLatitude)
pt.setLatitude(TileSystem.MinLatitude);
Marker m = new Marker(mapView);
m.setPosition(pt);
m.setIcon(markerIcon);
m.setImage(markerIcon);
m.setTitle("A demo title");
m.setSubDescription("A demo sub description\n" + pt.getLatitude() + "," + pt.getLongitude());
m.setSnippet("a snippet of information");
mapView.getOverlayManager().add(m);
mapView.invalidate();
return true;
}
return false;
}
示例5: onLongPress
import org.osmdroid.views.overlay.Marker; //导入方法依赖的package包/类
@Override
public boolean onLongPress(final MotionEvent e, final MapView mapView) {
if (def != null) {
GeoPoint pt = (GeoPoint) mapView.getProjection().fromPixels((int) e.getX(), (int) e.getY(), null);
//just in case the point is off the map, let's fix the coordinates
if (pt.getLongitude() < -180)
pt.setLongitude(pt.getLongitude() + 360);
if (pt.getLongitude() > 180)
pt.setLongitude(pt.getLongitude() - 360);
//latitude is a bit harder. see https://en.wikipedia.org/wiki/Mercator_projection
if (pt.getLatitude() > TileSystem.MaxLatitude)
pt.setLatitude(TileSystem.MaxLatitude);
if (pt.getLatitude() < TileSystem.MinLatitude)
pt.setLatitude(TileSystem.MinLatitude);
String code = def.getSymbolCode().replace("*", "-");
//TODO if (!def.isMultiPoint())
{
int size = 128;
SparseArray<String> attr = new SparseArray<>();
attr.put(MilStdAttributes.PixelSize, size + "");
ImageInfo ii = MilStdIconRenderer.getInstance().RenderIcon(code, def.getModifiers(), attr);
Marker m = new Marker(mapView);
m.setPosition(pt);
m.setTitle(code);
m.setSnippet(def.getDescription() + "\n" + def.getHierarchy());
m.setSubDescription(def.getPath() + "\n" + m.getPosition().getLatitude() + "," + m.getPosition().getLongitude());
if (ii != null && ii.getImage() != null) {
BitmapDrawable d = new BitmapDrawable(ii.getImage());
m.setImage(d);
m.setIcon(d);
int centerX = ii.getCenterPoint().x; //pixel center position
//calculate what percentage of the center this value is
float realCenterX = (float) centerX / (float) ii.getImage().getWidth();
int centerY = ii.getCenterPoint().y;
float realCenterY = (float) centerY / (float) ii.getImage().getHeight();
m.setAnchor(realCenterX, realCenterY);
mapView.getOverlayManager().add(m);
mapView.invalidate();
}
}
return true;
}
return false;
}
示例6: onClick
import org.osmdroid.views.overlay.Marker; //导入方法依赖的package包/类
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.radio_milstd2525b:
case R.id.radio_milstd2525c:
if (((RadioButton) v).isChecked()) {
RendererSettings.getInstance().setSymbologyStandard(RendererSettings.Symbology_2525C);
} else
RendererSettings.getInstance().setSymbologyStandard(RendererSettings.Symbology_2525B);
break;
case R.id.cancelAddIcon:
picker.dismiss();
break;
case R.id.addIcon:
//from the menu, user entered code
String code = symbolCode.getText().toString();
int size = 128;
try {
size = Integer.parseInt(symbolSize.getText().toString());
} catch (Exception ex) {
}
String baseCode = SymbolUtilities.getBasicSymbolID(code);
SymbolDef def = SymbolDefTable.getInstance().getSymbolDef(baseCode, RendererSettings.getInstance().getSymbologyStandard());
SparseArray<String> attr = new SparseArray<>();
attr.put(MilStdAttributes.PixelSize, size + "");
ImageInfo ii = mir.RenderIcon(code, new SparseArray<String>(), attr);
Marker m = new Marker(mMapView);
m.setPosition((GeoPoint) mMapView.getMapCenter());
m.setTitle(code);
if (def != null) {
m.setSubDescription(def.getFullPath());
m.setSnippet(def.getDescription() + "\n" + def.getHierarchy());
}
Drawable d = new BitmapDrawable(ii.getImage());
m.setImage(d);
m.setIcon(d);
int centerX = ii.getCenterPoint().x; //pixel center position
//calculate what percentage of the center this value is
float realCenterX = (float) centerX / (float) ii.getImage().getWidth();
int centerY = ii.getCenterPoint().y;
float realCenterY = (float) centerY / (float) ii.getImage().getHeight();
m.setAnchor(realCenterX, realCenterY);
mMapView.getOverlayManager().add(m);
mMapView.invalidate();
picker.dismiss();
//TODO store the symbol code and size as an android preference
SharedPreferences.Editor edit = PreferenceManager.getDefaultSharedPreferences(getContext()).edit();
edit.putString("MILSTDCODE", code);
RendererSettings.getInstance().setDefaultPixelSize(size);
edit.putInt("MILSTDSIZE", size);
edit.commit();
break;
case R.id.enablePanning:
enablePanning();
break;
case R.id.enablePainting:
enablePainting();
break;
}
}