Javascript 编辑标记大小和弹出框大小
我设法让标记和弹出框出现在Mapbox API中Javascript 编辑标记大小和弹出框大小,javascript,mapbox,Javascript,Mapbox,我设法让标记和弹出框出现在Mapbox API中 但是,我似乎无法编辑它们的大小和弹出窗口的大小 for (let i = 0; i < locations.length; i++) { let location = locations[i]; let marker = new mapboxgl.Marker({ color: '#FF8C00' }); marker.setLngLat(location.coordinates); let popup = new m
但是,我似乎无法编辑它们的大小和弹出窗口的大小
for (let i = 0; i < locations.length; i++) {
let location = locations[i];
let marker = new mapboxgl.Marker({ color: '#FF8C00' });
marker.setLngLat(location.coordinates);
let popup = new mapboxgl.Popup({ offset: 40 });
popup.setHTML(location.description);
marker.setPopup(popup);
// Display the marker.
marker.addTo(map);
// Display the popup.
popup.addTo(map);
}
for(设i=0;i
Mapbox通常建议使用创建标记并与这些标记交互
但是,如果您想继续使用前面介绍的示例,您可以遵循以下步骤,将自定义图标用于标记符号。可以使用iconSize
属性调整这些图标的大小:
mapboxgl.accessToken='access_token';
var geojson={
“类型”:“功能集合”,
“特征”:[
{
“类型”:“特征”,
“属性”:{
'message':'Foo',
“iconSize”:[60,60]
},
“几何学”:{
'类型':'点',
“坐标”:[-66.324462890625,-16.024695711685304]
}
},
{
“类型”:“特征”,
“属性”:{
'message':'Bar',
“iconSize”:[50,50]
},
“几何学”:{
'类型':'点',
“坐标”:[-61.2158203125,-15.97189158092897]
}
},
{
“类型”:“特征”,
“属性”:{
'message':'Baz',
“iconSize”:[40,40]
},
“几何学”:{
'类型':'点',
“坐标”:[-63.29223632812499,-18.28151823530889]
}
}
]
};
var map=new mapboxgl.map({
容器:“映射”,
风格:'mapbox://styles/mapbox/streets-v11',
中心:[-65.017,-16.457],
缩放:5
});
//向地图添加标记
geojson.features.forEach(函数(标记){
//为标记创建DOM元素
var el=document.createElement('div');
el.className='marker';
背景图片=
'网址(https://placekitten.com/g/' +
marker.properties.iconSize.join(“/”)+
'/)';
el.style.width=marker.properties.iconSize[0]+'px';
el.style.height=marker.properties.iconSize[1]+'px';
el.addEventListener('click',函数(){
window.alert(marker.properties.message);
});
//将标记添加到地图
新mapboxgl.标记(el)
.setLngLat(标记、几何、坐标)
.addTo(地图);
});
可能有助于: