1
A
回答
3
虽然没有了上MapView
的顶部绘制直线,折线或多边形没有明确的API,该MapLayer
在这里你可以得出任何的JavaFX Shape
,提供你把它扩展到照顾一层地图坐标。
对于这一点,如果你有一个看看PoiLayer
class,你可以看到,对于任何MapPoint
(经度和纬度定义的),你可以得到一个2D点(x和y所定义的),你可以得出一个在该位置的节点:
MapPoint point = new MapPoint(37.396256,-121.953847);
Node icon = new Circle(5, Color.BLUE);
Point2D mapPoint = baseMap.getMapPoint(point.getLatitude(), point.getLongitude());
icon.setTranslateX(mapPoint.getX());
icon.setTranslateY(mapPoint.getY());
所以,如果你想创建,例如,基于一组点的Polygon
,你有一个Polygon
对象添加到层:
public class PoiLayer extends MapLayer {
private final Polygon polygon;
public PoiLayer() {
polygon = new Polygon();
polygon.setStroke(Color.RED);
polygon.setFill(Color.rgb(255, 0, 0, 0.5));
this.getChildren().add(polygon);
}
@Override
protected void layoutLayer() {
polygon.getPoints().clear();
for (Pair<MapPoint, Node> candidate : points) {
MapPoint point = candidate.getKey();
Node icon = candidate.getValue();
Point2D mapPoint = baseMap.getMapPoint(point.getLatitude(), point.getLongitude());
icon.setTranslateX(mapPoint.getX());
icon.setTranslateY(mapPoint.getY());
polygon.getPoints().addAll(mapPoint.getX(), mapPoint.getY());
}
}
}
现在,在试听课,打造集mapPoints的,并把它们添加到地图:
private final List<MapPoint> polPoints = Arrays.asList(
new MapPoint(37.887242, -122.178799), new MapPoint(37.738729, -121.921567),
new MapPoint(37.441704, -121.921567), new MapPoint(37.293191, -122.178799),
new MapPoint(37.441704, -122.436031), new MapPoint(37.738729, -122.436031));
private MapLayer myDemoLayer() {
PoiLayer poi = new PoiLayer();
for (MapPoint mapPoint : polPoints) {
poi.addPoint(mapPoint, new Circle(5, Color.BLUE));
}
return poi;
}
,你将有与它上面的地理定位的多边形的地图。
相关问题
- 1. 如何在Box2D中创建橡胶线?
- 2. 从多段线创建General_polygon_2
- 3. 从多段线创建多边形
- 4. 从KML文件创建多段线
- 5. 使用javascript创建多段线
- 6. 在乳胶中创建符号列表
- 7. 乳胶多线方程
- 8. 多线程vs创建子进程
- 9. 在Google地图中创建非循环多段线
- 10. 使用XML文件在Google Maps 3中创建多段线
- 11. 在gmap中创建多段线并生成图像
- 12. 在python中创建许多线程?
- 13. 在循环中创建多个线程
- 14. 如何在android中创建多线程?
- 15. 在RadioGroup中创建多次片段
- 16. 在JavaFX中创建多个阶段
- 17. 为Google驾车路线创建多段线
- 18. 通过在Google地图中加入多段线创建多边形
- 19. 移动一个MapLayer子元件编程
- 20. 使用多段线创建多个地图对象
- 21. 从多个mysql点创建谷歌地图多段线
- 22. 在胶子应用
- 23. Python线程 - 创建子类?
- 24. Django创建子字段
- 25. 线乳胶表
- 26. 在子进程内创建线程
- 27. 创建多个线程C++
- 28. 创建多线程StackPanel
- 29. 创建多线程循环
- 30. 创建多少个线程?
谢谢你,优秀的答案和可行的例子:) – Ron