老师您好,这是使用9D的leaflet.js进行开发的,里面有一个layer.binpopup的方法,是鼠标点击底图上的点后以弹框的方式弹出添加的信息,现在我想问的是有没有什么方法不用同过鼠标点击直接在地图上显示出来的
老师您好,layer.binpopup的方法不是在地图上添加一个弹窗事件么,然后通过鼠标点击地图上的这个地方,弹出添加的内容,我现在需要的是不用鼠标点击,加载地图的时候直接显示弹框的内容。
现在发现一个layer.bindTooltip()的方法,这个与layer.binpopup()类似,是直接把需要的内容添加到地图上,但是添加后是处于隐藏状态的,鼠标悬浮到地图的这个地方后显示地图上的内容,我现在需要的是不用通过鼠标悬浮才能显示,直接加载页面的时候加载出来地图上添加的内容,
再或者您有什么在能在地图上添加内容的方法也行,都能达到想要的效果
我的意思就是让你把bindpopup改成一个单独的popup去实现,你可以在官网替换这段代码试一下效果
function query() { var sqlParam = new SuperMap.GetFeaturesBySQLParameters({ queryParameter: { name: "Countries@World", attributeFilter: "SMID = 247" }, datasetNames: ["World:Countries"] }); L.supermap .featureService(url) .getFeaturesBySQL(sqlParam, function (serviceResult) { resultLayer = L.geoJSON(serviceResult.result.features).addTo(map); var bounds = L.geoJSON(serviceResult.result.features).getBounds(); var latlng = L.latLng((bounds._northEast.lat+bounds._southWest.lat)/2,(bounds._northEast.lng+bounds._southWest.lng)/2 ); var popup = L.popup() .setLatLng(latlng) .setContent('SMID = '+serviceResult.result.features.features[0].id) .openOn(map); }); }