如何突出显示鼠标悬停的细分的轮廓



例如,突出显示鼠标悬停的城市轮廓。我读过这个:

https://gis.stackexchange.com/questions/35395/how-to-highlight-a-selected-country

我有一些问题:

  1. 通过开放层,我无法直接获得鼠标悬停细分(州或城市)的轮廓latlangs,对吗?
  2. 要完成它,我必须获取鼠标悬停的点信息(latlng 或其他),然后通过这个点信息查询出 latlangs,对吗?
  3. 如果是,可以查询任何公共 api 吗?还是我必须自己为这种查询建立一个数据库?

对于您的问题,

1 - 您将需要像GeoJSON这样的文件中定义的州或城市,但是如果您有,那么是的,您可以将大纲作为功能获取。

2 - 是的 - 您可以使用map.on('pointermove' ...)或为pointermove的选择交互添加条件来执行此操作。

3 - 我认为这与 (1) 有关 - 从广义上讲,您可以使用任何返回合适格式的内容,例如 GeoJSON。

此示例显示了通过点击使用 GeoJSON 来选择国家/地区边界:

http://openlayers.org/en/v3.14.2/examples/box-selection.html

使用指针移动进行返工应该可以满足您的需求。最简单的方法是:

var highlighter = new ol.interaction.Select({
    condition: ol.events.condition.pointerMove
});

我已经为您做了一个演示:

http://www.freytag.org.uk/ol/hover.html

最新更新