在Google地图上映射多个地址-javascript API和PHP
我有一个包含地址数组的PHP变量。我正在使用Googlemaps v3 javascript API。我有一个函数可以对地址进行地理编码并放置标记,但我不知道如何为php变量中存储的每个地址运行该函数 有什么想法吗,伙计们 编辑:geodecoding函数是一个javascript函数 Javascript函数:在Google地图上映射多个地址-javascript API和PHP,php,javascript,google-maps,Php,Javascript,Google Maps,我有一个包含地址数组的PHP变量。我正在使用Googlemaps v3 javascript API。我有一个函数可以对地址进行地理编码并放置标记,但我不知道如何为php变量中存储的每个地址运行该函数 有什么想法吗,伙计们 编辑:geodecoding函数是一个javascript函数 Javascript函数: <script type="text/javascript"> var geocoder; var map;
<script type="text/javascript">
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(58.813742, -98.789062);
var myOptions = {
zoom: 4,
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
//Change Address to Latlng and show on Map
function codeAddress() {
var address = "10 my house street, city, state";
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(14);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</script>
var地理编码器;
var映射;
函数初始化(){
geocoder=新的google.maps.geocoder();
var latlng=新的google.maps.latlng(58.813742,-98.789062);
变量myOptions={
缩放:4,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.HYBRID
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
}
//将地址更改为Latlng并显示在地图上
函数代码地址(){
var address=“州、市、我家街10号”;
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(结果[0].geometry.location);
map.setZoom(14);
var marker=new google.maps.marker({
地图:地图,
位置:结果[0]。geometry.location,
});
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
使用foreach循环:
<?php
foreach ( $array_of_addresses as $address ) {
// Do Whatever
}
?>
您正在使用Monte Ohrt的PHP库吗?如果不应该的话,它真的很好,您可以在这里下载它定义JavaScript函数一次。然后,循环遍历PHP数组,并在每个地址上运行javascript函数。以下是一个例子:
function geocode() {
...
}
<?php
foreach($arrAddress as $address) {
?>
geocode('<?php echo $address; ?>');
<?php
}
?>
函数geocode(){
...
}
地理编码(“”);
好的。但是,现在我面临另一个问题。我现在知道地理编码器是未定义的,尽管我已经定义了地理编码。检查javascript函数的原始post.Ok。我得到了它。我在body内部调用geocoder函数,并在body load上设置initalize()。因此,在初始化之前调用geocoder函数。所以,现在我需要找到一种在主体初始化后调用geocoder函数的方法。让我们看看我能做些什么。有什么想法吗?只要把PHP代码放在codeAddress函数之后就行了。