2016-03-15 79 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