- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Google map API 可以在 map 上创建包含将点连接在一起的折线的图层。
我已经在哪里可以找到 gluon 的 mapLayer 的示例或实现。
请指教
最佳答案
虽然没有明确的 API 用于在 MapView
之上绘制直线、折线或多边形,但 MapLayer
是一个可以在其中绘制任何 JavaFX Shape 的层
,前提是您负责将其缩放到 map 坐标。
为此,如果您查看 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());
}
}
}
现在,在演示类上,创建一组 map 点,并将它们添加到 map 中:
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;
}
您将获得一张 map ,其顶部带有您的地理定位多边形。
关于javafx - 在胶子mapLayer中创建折线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36952625/
我使用 Tiled 创建了一张 map ,并在 Phaser 游戏中从 JSON 加载了它,一切运行良好。 现在我想从 map 图层中获取特定点 x,y 上的图 block 类型。我找不到任何这方面的
我正尝试在我的 Libgdx 游戏中使用 Tiled。我在处理这行代码时遇到了问题: TiledMapTileLayer layer = (TiledMapTileLayer) tiledMap.ge
我在 JavaFX 中使用 GluonHQ Maps 1.0.3,但在 map 上绘制节点时遇到问题。 我有课GridMapController其中有 MapView叫gridMap 。我也有课Gri
只是一个序言,我意识到我正在以非 WPF 友好的方式执行我的解决方案。在完美的世界中,我会使用 MapItemsControl。 好的,我正在使用 WPF 的 Bing Maps 控件。这是我的 Bi
我是一名优秀的程序员,十分优秀!