今天我在谷歌地图问题上得到了很大的帮助,当我处理我的代码时,会弹出更多的东西。所以这是我希望得到帮助的另一个问题。
有2个部分
1)我已经调整了我的代码以在同一页面上显示 2 x 谷歌地图。我的谷歌地图是这样工作的
用户搜索地址,结果是
- 地图显示位置图钉
- 长和纬度字段用坐标填充
- 为办公室名称调用的输入字段填充有搜索查询。
当我有 1 张地图时,这一切都有效。但是当我在下面的代码中添加 map2 时,我不确定如何编写代码来拆分 map 和 map2 之间的结果
我的代码尝试如下(头)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?sensor=true">
</script>
<script type="text/javascript">
var geocoder;
var map,map2;
function initialize(condition) {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(53.2948557, -6.139267399999994);
var mapOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
map2 = new google.maps.Map(document.getElementById('map_canvas2'), mapOptions);
}
function codeAddress() {
var address = document.getElementById('address').value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
document.getElementById("input_15_169").value = marker.getPosition().lat();
document.getElementById("input_15_167").value = marker.getPosition().lng();
document.getElementById("input_15_92").value = address;
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
</script>
我的身体看起来像这样
<body onload="initialize()" onunload="GUnload()">
<p>To Add your Google Map you must first plot your address by searching</p>
<p>
<input id="address" type="textbox" value="" placeholder="Search For Your Address">
<input type="button" value="Plot Your Address" onclick="codeAddress()">
</p>
<div id="latlong">
<p>Office Name: <input size="20" type="text" id="input_15_92" name="ofn" ></p>
<p>Latitude: <input size="20" type="text" id="input_15_169" name="lat" ></p>
<p>Longitude: <input size="20" type="text" id="input_15_167" name="lng" ></p>
</div>
<div id="map_canvas" style="width: 600px; height: 400px"></div>
<p>To Add your Google Map you must first plot your address by searching</p>
<p>
<input id="address2" type="textbox" value="" placeholder="Search For Your Address">
<input type="button" value="Plot Your Address" onclick="codeAddress()">
</p>
<div id="latlong">
<p>Office Name: <input size="20" type="text" id="input_16_92" name="ofn" ></p>
<p>Latitude: <input size="20" type="text" id="input_16_169" name="lat" ></p>
<p>Longitude: <input size="20" type="text" id="input_16_167" name="lng" ></p>
</div>
<div id="map_canvas2" style="width: 600px; height: 400px"></div>
</body>
</html>
我知道在上面我当前的 javascript 中我缺少填充第二张地图的字段的代码,它应该看起来像这样,但我不确定将它们放在哪里
document.getElementById("input_16_169").value = marker.getPosition().lat();
document.getElementById("input_16_167").value = marker.getPosition().lng();
document.getElementById("input_16_92").value = address;
////
2)第二个问题与缩放有关。我看到我可以zoom: 10,
在代码的开头设置我的缩放级别,它给出了地图的缩放级别。我想知道是否可以在找到结果时进行不同的缩放,即在用户搜索之后,因为我希望放大一点!
提前致谢