如何让OpenLayers从国家/地区代码中选择国家/地区?

问题描述 投票:0回答:1

我有一个使用OpenLayers的程序,基本上,用户输入一个三位数的国家代码,然后我希望在地图上选择该国家/地区。因此,如果用户键入“USA”,则会在地图上选择美国。我对使用OpenLayers很新,但我认为我需要使用ol.interaction.Select来做到这一点。

openlayers
1个回答
0
投票

一般来说,您需要:

  1. 与国家/地区对应的矢量数据源,并由其三位数国家/地区代码编制索引。 dube上面的答案指向一个,而OpenLayers似乎在他们的网站here上有相同的文件。方便的是,这些文件使用国家/地区代码作为功能ID,在矢量数据源中按ID查找功能非常简单。
  2. OpenLayers地图,至少包含一个包含上述源的矢量图层。
  3. 可选地,包含图像切片的地图的基础图层。如果使用矢量数据源绘制国家边界,使用源为国家矢量的地图图层,并使用适当的填充和轮廓样式,也可以不使用此图层。但是,国家矢量数据非常粗糙,地图图块(OpenStreetMap,Stamen,Bing,Google等)可能看起来更漂亮,特别是如果用户放大了很多。
  4. 用于突出显示的叠加层。这将是一个带有突出显示填充和轮廓样式的矢量图层(例如,红色或粗体,可能带有一些不透明的填充颜色),当用户键入可识别的国家/地区代码时,您可以向其添加和删除所选国家/地区的要素对象。

OpenLayers vector-layer示例包含您需要的90%的代码。您可以观察用户键入国家/地区代码的文本元素的更改,而不是观察鼠标移动。

有关示例,请参阅this gist

© www.soinside.com 2019 - 2024. All rights reserved.