実行したくない Java スクリプト関数があります。奇妙なことに、コード内の他の関数は問題なく動作します。私が問題を抱えている関数は addMarkers() です。addMarker() 関数をコピーして名前を変更することさえしました。addMarker() を呼び出すと完全に実行されますが、 addMarkers() を呼び出すと、同じものであり、他のもののすぐ隣にあるにもかかわらず、まったく機能しません。
私は何が欠けていますか?
var markers = [];
var map;
function initialize() {
var mapOptions = {
zoom : 2,
center : new google.maps.LatLng(0, 0),
mapTypeId : google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}
// Sets the map on all markers in the array.
function setAllMap(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
// Removes the overlays from the map, but keeps them in the array.
function clearOverlays() {
setAllMap(null);
}
// Shows any overlays currently in the array.
function showOverlays() {
setAllMap(map);
}
// Deletes all markers in the array by removing references to them.
function deleteOverlays() {
clearOverlays();
markers = [];
}
function resetMap() {
map.panTo(new google.maps.LatLng(0, 0));
map.setZoom(2);
deleteOverlays();
}
function addMarker(lat, lng) {
markers.push(new google.maps.Marker({
position : new google.maps.LatLng(lat, lng),
map : map,
draggable : false,
animation : google.maps.Animation.DROP
}));
}
function addMarkers(lat, lng) {
markers.push(new google.maps.Marker({
position : new google.maps.LatLng(lat, lng),
map : map,
draggable : false,
animation : google.maps.Animation.DROP
}));
}
google.maps.event.addDomListener(window, 'load', initialize);
スクリプトを実行する HTML ドキュメント
<!DOCTYPE html>
<html>
<head>
<title>Google Maps API Testing</title>
<!--meta http-equiv="refresh" content="120"-->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body {
margin: 0;
padding: 0;
height: 100%;
background-color: #B0C4DE;
}
#map-canvas{
height:1020px;
width:1040px;
border: 5px black solid;
position:absolute;
top:100px;
left: 5px;
}
form{
position:relative;
left: 20px;
top: 15px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?Key={AIzaSyBLp3nQtaofsWbtwTH4rwgOoPJ8fARnUPA}&sensor=false"></script>
<script type="text/javascript" src="maps.js"></script>
</head>
<body onload="addMarkers(0,0)">
<div id="map-canvas"></div>
<form name="form">
<input type="button" value="Reset Map" onclick="resetMap();" />
<br />
Lat: <input type="number" name="lat"/>
Lng: <input type="number" name="lng" />
<br />
<input type="button" value="Drop Icon" onclick="addMarker(form.lat.value, form.lng.value);" />
</form>
</body>
</html>