私の目標は、最終的にユーザーが 2 つのテキスト ボックスに座標を入力し、フォームを送信して Google マップの中心を新しい値に変更できるようにすることです。現在、フォームの一部としてボタンを配置するだけでテストしています。ボタンをクリックすると、ハードコードされた 2 つの値を持つ関数がマップの中心を変更するはずですが、機能していません。最初のマップは正しく作成されますが、ボタンをクリックしてもマップの中心が変わりません。これがJavaScriptの私のコードです:
var map;
var center;
var mapOptions;
function reMap() {
alert("setting the center");
center = new google.maps.LatLng(41.4200, -73.9550);
map.setCenter(center);
map.setZoom(10);
}
function initialize() {
document.getElementById('location').onSubmit = reMap;
mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
ここにhtmlがあります:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=MY_KEY&sensor=false">
</script>
<script type="text/javascript"
src="js/mapActions.js">
</script>
</head>
<body >
<div><form id="location" action="" method="post">
<fieldset> <input type="submit" value="try" id="try"></fieldset></form></div>
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>
これが機能しない理由についてのアイデアは大歓迎です。入力タイプを「ボタン」に変更し、「onClick = reMap()」をhtmlに追加すると、実際には機能しますが、前述のように、フォームを使用できる必要があり、関数呼び出しはしたくないことに注意してくださいHTMLで。どんな助けでも大歓迎です。