【发布时间】:2017-04-05 21:42:04
【问题描述】:
我正在为一个旅行预订网站创建一个交互式网站原型,这是第一次使用 mapbox。我已经在 mapbox 网站和其他地方进行了大量搜索,但有几件事我无法弄清楚:
第一个问题:当点击地图上的一个标记时,应该运行一个js函数来显示右边的窗格
我已经有这个来自 mapbox 的代码,它在点击时在每个标记上打开一个单独的弹出窗口(我稍后会删除这些弹出窗口):
// When a click event occurs near a place, open a popup at the location of
// the feature, with description HTML from its properties.
map.on('click', function (e) {
var features = map.queryRenderedFeatures(e.point, { layers: ['places'] });
if (!features.length) {
return;
}
var feature = features[0];
// Populate the popup and set its coordinates
// based on the feature found.
var popup = new mapboxgl.Popup()
.setLngLat(feature.geometry.coordinates)
.setHTML(feature.properties.description)
.addTo(map);
});
根据该示例中的点击处理方式,我希望类似的方法能够奏效:
feature.on('click', function (e) {
**Insert code to display the pane here**
});
但这不起作用。当您使用不熟悉的 api 时,很难弄清楚这些事情。所以我需要知道我会怎么做。
第二个问题:当用户点击查看城市中的热门旅行时,将运行一个 js 函数以在地图上显示 svg(来自 Illustrator 模型)
这里的问题是我需要 svg 显示在地图的某些坐标上,而不仅仅是屏幕上的某个位置。这个,我不知道从哪里开始。
感谢任何帮助,谢谢!
【问题讨论】:
标签: javascript jquery svg mapbox mapbox-gl-js