在html中创建一个地图链接,当点击此链接时出现在js中创建的javascript地图,可以通过调用百度地图的api实现,并显示当前地区如北京故宫
时间: 2024-02-17 18:59:41 浏览: 15
好的,可以使用以下代码实现:
首先,在html中创建一个链接,例如:
```html
<a href="#" id="map-link">查看地图</a>
```
然后,在JavaScript中,通过调用百度地图的API创建地图,并将其添加到页面上。可以使用以下代码:
```javascript
// 引入百度地图API
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的百度地图AK"></script>
// 创建地图
var map = new BMap.Map("map-container");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
// 添加标注
var marker = new BMap.Marker(point);
map.addOverlay(marker);
// 设置地图控件
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
map.addControl(new BMap.MapTypeControl());
// 显示当前地区
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
alert('您的位置:'+r.point.lng+','+r.point.lat);
}
else {
alert('failed'+this.getStatus());
}
});
```
最后,将地图添加到页面上的容器中,并在链接上添加点击事件,点击时显示地图。可以使用以下代码:
```javascript
// 将地图添加到页面上
var mapContainer = document.getElementById("map-container");
mapContainer.appendChild(map);
// 添加点击事件
var mapLink = document.getElementById("map-link");
mapLink.onclick = function() {
mapContainer.style.display = "block";
};
```
以上代码中,需要将`你的百度地图AK`替换为你自己的百度地图开发者AK。另外,需要在页面中添加一个容器元素,用于显示地图:
```html
<div id="map-container" style="display: none; width: 100%; height: 500px;"></div>
```
这样,当用户点击链接时,地图就会显示出来,并且会自动定位到当前位置。