<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
// 编写自定义函数,创建标注
function addMarker(point) {
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
// 随机向地图添加25个标注
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 25; i++) {
var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
addMarker(point);
}
</script>
在页面初始化的时候,就向地图中添加了25个标记,为什么?
6 个解决方案
#1
你把代码直接写在页面上,当然就直接执行了
想点击按钮执行,你应该把它放到一个函数里,然后点击按钮调用这个函数
想点击按钮执行,你应该把它放到一个函数里,然后点击按钮调用这个函数
#2
就类似这样
function addMarker(point) {
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
你前面不是已经定义了一个函数了吗
把其他代码也放到函数里,需要的时候才执行
function addMarker(point) {
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
你前面不是已经定义了一个函数了吗
把其他代码也放到函数里,需要的时候才执行
#3
// 随机向地图添加25个标注
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 25; i++) {
var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
addMarker(point);
}
以上这段代码要放到一个函数中,要添加标记时调用该函数就可以了。不这样页面一开始就会运行该段代码。
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 25; i++) {
var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
addMarker(point);
}
以上这段代码要放到一个函数中,要添加标记时调用该函数就可以了。不这样页面一开始就会运行该段代码。
#4
#5
LZ应该从来没做过WEB开发
#6
我觉得楼主应该从来没接触过编程
即使是控制台程序,把代码全放到Main里去,当然也是一运行就直接执行了
#1
你把代码直接写在页面上,当然就直接执行了
想点击按钮执行,你应该把它放到一个函数里,然后点击按钮调用这个函数
想点击按钮执行,你应该把它放到一个函数里,然后点击按钮调用这个函数
#2
就类似这样
function addMarker(point) {
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
你前面不是已经定义了一个函数了吗
把其他代码也放到函数里,需要的时候才执行
function addMarker(point) {
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
你前面不是已经定义了一个函数了吗
把其他代码也放到函数里,需要的时候才执行
#3
// 随机向地图添加25个标注
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 25; i++) {
var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
addMarker(point);
}
以上这段代码要放到一个函数中,要添加标记时调用该函数就可以了。不这样页面一开始就会运行该段代码。
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 25; i++) {
var point = new BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));
addMarker(point);
}
以上这段代码要放到一个函数中,要添加标记时调用该函数就可以了。不这样页面一开始就会运行该段代码。
#4
#5
LZ应该从来没做过WEB开发
#6
我觉得楼主应该从来没接触过编程
即使是控制台程序,把代码全放到Main里去,当然也是一运行就直接执行了