点击地图后,为地图上的每个标记调出不同的信息框

时间:2019-03-25 16:22:55

标签: javascript web mapbox mapbox-gl mapbox-marker

我正在尝试制作一个带有标记的交互式地图,这将弹出一个包含有关该地点的信息的框。我正在使用MapBox API,并设法使用GEOJSON添加了标记

var geojson = {
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "marker-color": "#7e7e7e",
        "marker-size": "medium",
        "marker-symbol": "",
        "name": "zamek"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          17.968410551548004,
          49.47832705255177
        ]
      }
    }
  ]
}

现在,我需要为该标记分配一个事件,该事件将带来一个专门针对标记位置的文本框。我没有Js的经验,基本上是在这个过程中学习。

那么最好的方法是什么?我的信息框将是一个div,它将从屏幕的左侧“滑入”(其div的高度为100%,宽度为300px,位于左侧:-300px),并包含适当的信息。我唯一的想法是使用某种带有所有标题,文本等的数据库(由于我只是菜鸟而已,所以可能完全是废话)。并根据单击的标记来更改信息框的内容。

示例:如果我单击城堡,则网站从数据库中为“城堡”提取必要的文本,将其放在信息框中并显示。

我真的很感激这方面的帮助,正如我所说的,我刚刚开始研究交互式网页制作和js的魔力,因此请更正我在此所说的任何非理性理解(也我知道我的英语是“绝对不是很好,所以请不要怪我。

0 个答案:

没有答案