0
我有两个字段的表单:如何显示Google地图的网格?
- 第一个允许进入城市
- 第二个允许进入提供的地址
这两个数据,我应该使用谷歌API来创建地图。 每次单击该按钮时,表单都会创建一个新地图。 我是这样做的。
HTML代码:
<form method="post" action="../public/maps.php" id="upload">
<table>
<tr>
<td>City:</td>
<td><input type="text" name="city" id="city"/></td>
</tr>
<tr>
<td>Address:</td>
<td><input type="text" name="address" id="address"/></td>
</tr>
<tr>
<td>
<input type="submit" name="submit-maps" value="Post" onClick="createMap()"/>
</td>
</tr>
</table>
</form>
<div id="content_map-canvas"></div>
Javascript代码:
var geocoder;
var map;
var city;
var address;
var count = 0;
function createMap() {
var city = document.getElementById('city').value;
var address = document.getElementById('address').value;
var city_address = city+address;
var description = city+address;
showMap(city_address, description);
}
function showMap(city_address, description) {
geocoder = new google.maps.Geocoder();
var options = {
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
//Creates the new div
count = count + 1;
var id = "map-canvas" + count;
var div = document.createElement("div");
div.id = id;
document.getElementById('content_map-canvas').appendChild(div);
//Creates the map
map = new google.maps.Map(document.getElementById(id), options);
geocoding(city_address, description);
}
function geocoding(city_address, description) {
geocoder.geocode({'address': city_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,
title: description
});
marker.setAnimation(google.maps.Animation.DROP);
contentString = description;
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker);
});
}
});
}
该代码不起作用。当我点击按钮时,不要制作地图。 我从来没有使用过Google API,所以我肯定会犯一个愚蠢的错误。谢谢:)
感谢您的答复!我纠正了代码,但它仍然不起作用,不创建分区...嗯... – user245679
你为什么说它不创建分区? _your_版本的代码是否会生成任何javascript错误? – geocodezip
这意味着,当我写一个城市和一个地址的形式,我点击按钮,没有创建div,所以也许这就是为什么你不创建地图。事实上,div不会创建我通过Chrome中的检查元素。控制台不会生成错误 – user245679