【发布时间】:2016-08-07 09:22:21
【问题描述】:
我有文件包含我从中获取特征的国家/地区,然后列出了简单的标记:
// Load country polygons and adds them as markers
countries = GeoJSONReader.loadData(this, "countries.geo.json");
countryMarkers = MapUtils.createSimpleMarkers(countries);
现在我想检查给定点在哪个国家/地区。所以我确实在 AbstractShapeMarker 中投射了简单的标记,然后检查 isInsideByLocation:
for (Marker country: countryMarkers) {
AbstractShapeMarker cou = (AbstractShapeMarker)country;
if (cou.isInsideByLocation(place.getLocation())) {
System.out.println("country!:" + country.getLocation() + "" +country.getProperties().get("name"));
}
}
这适用于简单形状的国家,但对于包含多个多边形的国家(例如美国),这不起作用。
在文档http://unfoldingmaps.org/javadoc/de/fhpotsdam/unfolding/data/MarkerFactory.html 中说要做标记工厂:
MarkerFactory markerFactory = new MarkerFactory();
markerFactory.setPolygonClass(MyPolygonMarker.class);
List<Marker> markers = markerFactory.createMarkers(features);
map.addMarkers(markers);
但我不明白如何创建类以便只获得多边形形状。
或者这可能是另一种方法检查展开地图的位置。
提前谢谢你!
【问题讨论】:
标签: java