2016-03-15 80 views
0

例如,突出城市的轮廓,其中鼠标hovering.I已阅读本:如何突出鼠标悬停的细分轮廓?

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

我有一些问题:

  1. 通过的OpenLayers,我不能让轮廓鼠标悬停细分(一个州或一个城市)的拉特朗,我说得对吗?
  2. 为了做到这一点,我必须得到鼠标悬停的点信息(latlng或其他),然后通过这个信息查询拉特朗,我说得对吗?
  3. 如果是,可以查询任何公共API?或者我必须自己为这种查询建立一个数据库?

回答

0

对于您的问题,

1 - 你需要像以GeoJSON一个文件中定义的州或城市,但如果你有,那么是的,你可以得到的轮廓作为特征。

2 - 是的 - 你可以使用map.on('pointermove'...)或者为点选择的交互添加一个条件。

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

此示例显示了点击使用GeoJSON的选择国界:

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

返工与pointermove应该给你你需要什么。最简单的方法是这样的:

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

我这样做是为你演示:

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