我正在尝试在我的Android应用程序中使用Mapsforge绘制一条简单的路线。我遵循了一个示例,并创建了单点OverlayItems。但是当我试着画一条路线时,我在地图上看不到任何东西。有人能帮我吗?下面是我的简单代码:
Paint wayPaint = new Paint();
wayPaint.setColor(color.Chocolate);
ArrayWayOverlay wayOverlay = new ArrayWayOverlay(wayPaint,wayPaint);
GeoPoint gp1 = new GeoPoint(41.38, 2.15);
GeoPoint gp2 = new GeoPoint(41.39, 2.15);
GeoPoint gp3 = new GeoPoint(41.40, 2.15);
GeoPoint gp4 = new GeoPoint(41.41, 2.15);
OverlayWay way = new OverlayWay(new GeoPoint[][] { { gp1, gp2, gp3, gp4 } });
wayOverlay.addWay(way);
mapView.getOverlays().add(wayOverlay);
我不知道我是不是要在某个地方放记号。
发布于 2013-08-02 18:57:23
尝试设置wayPaint样式和笔触宽度,如下所示:
Paint wayPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
wayPaint.setStyle(Paint.Style.STROKE);
wayPaint.setColor(Color.BLUE);
wayPaint.setAlpha(192);
wayPaint.setStrokeWidth(6);
wayDefaultPaintFill.setStrokeJoin(Paint.Join.MITER);
ArrayWayOverlay wayOverlay = new ArrayWayOverlay(wayPaint,wayPaint);
//your points
OverlayWay way = new OverlayWay(new GeoPoint[][] { {geoPoint1,geoPoint2,... } });
wayOverlay.addWay(way);
mapView.Overlays().add(wayOverlay);
希望这能有所帮助!
发布于 2014-09-11 14:18:36
从v-0.4.0
开始,OverlayWay
api已被弃用。由于我很难找到在地图上绘制覆盖图的新方法,我想我应该在这里发布这篇文章。Mapsforge
现在添加了以下类型的覆盖图:
1. Circle
2. FixedPixelCircle
3. Marker
4. Polygon
5. Polyline
所有新类都扩展了Layer
类,使其易于实现。实例化所需的对象并将其添加到MapView
中,如下所示。
// instantiating the paint object
Paint paint = AndroidGraphicFactory.INSTANCE.createPaint();
paint.setColor(color);
paint.setStrokeWidth(strokeWidth);
paint.setStyle(style);
// instantiating the polyline object
Polyline polyline = new Polyline(paint, AndroidGraphicFactory.INSTANCE);
// set lat lng for the polyline
List<LatLong> coordinateList = polyline.getLatLongs();
coordinateList.add(latlng1);
coordinateList.add(latlng2);
coordinateList.add(latlng3);
coordinateList.add(latlng4);
coordinateList.add(latlng5);
// adding the layer to the mapview
mapView.getLayerManager().getLayers().add(polyline);
还有一个mapsforge示例link可用。
https://stackoverflow.com/questions/16708071
复制相似问题