gpt4 book ai didi

android - 使用 Mapsforge 绘制 OverlayWays

转载 作者:行者123 更新时间:2023-11-29 14:19:24 25 4
gpt4 key购买 nike

我正在尝试使用 Mapsforge 在我的 Android 应用程序中绘制一条简单的路线。我按照一个示例创建了单点 OverlayItems。但是当我尝试绘制路线时,我在 map 上看不到任何东西。有谁能够帮助我?这是我的简单代码:

    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);

我不知道我是否必须在某处放置标记...

最佳答案

v-0.4.0 起,OverlayWay api 已被弃用。因为我很难找到在 map 上绘制叠加层的新方法,所以我想我把它贴在这里。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可用。

关于android - 使用 Mapsforge 绘制 OverlayWays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16708071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com