openlayers怎样在已有的地图上添加一个div

openlayers怎样在已有的地图上添加一个div,第1张

把外链接的JS加载到body后面,在这个JS里面用类似这样的代码:

var div = document.createElement('div') // 新增元素

var diva = document.getElementById('a') // 获取id为a的元素

diva.parentNode.insertBefore(div, diva) // 在这个元素前面增加上去

如果单单用div标记的话,先算出像素坐标将div放入,然后调用添加叠加层api,将div叠加到地图中,不过google提供了marker类,可以用marker标记啊,图片换一下就行了。也可以将信息框编辑成你想要的格式

我把这个重点的一段给你拷过来了。你可以参考原文。 地址解析

地址解析(Geocoding)是将地址(如“北京市海淀区”)转换为地理坐标(如纬度 40.019,经度 116.216)的过程,可以用于放置标记或定位地图。Google 地图 API 包含地址解析服务,可以使用 GClientGeocoder 对象访问。注意!目前中文地图 API 只支持市/县/区级别的地址解析。 请注意地址解析是一种耗时耗资源的任务。尽量为您的地址预先进行地址解析(使用 GClientGeocoder 地址解析器或其它地址解析服务),并使用地址解析缓存存储您的结果。 对对象进行地址解析

可以通过 GClientGeocoder 对象访问 Google 地图 API 地址解析器。使用 GClientGeocoder.getLatLng() 可将字符串地址转换为 GLatLng。此方法取要转换的字符串地址以及对检索到的地址执行的回调函数作为参数。该回调函数是必要的,因为地址解析涉及向 Google 的服务器发送请求,可能需要一些时间。 在此示例中,我们将一个地址进行解析,在该点添加标记,并打开一个显示该地址的信息窗口。 var map = new GMap2(document.getElementById(map_canvas))var geocoder = new GClientGeocoder()function showAddress(address) { geocoder.getLatLng( address, function(point) { if (!point) { alert(“不能解析:” + address)} else { map.setCenter(point, 13)var marker = new GMarker(point)map.addOverlay(marker)marker.openInfoWindowHtml(address)} } )}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11531536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存