将地理编码结果转换为php变量以发布到mysql数据库


Convert geocode results into php variables to post to mysql database

我在这里使用了教程http://tech.cibul.net/geocode-with-google-maps-api-v3/创建一个带有地图和可拖动标记的页面,以显示地址和纬度/经度。

演示-http://www.calcunation.com/testgeo.php

如何捕获这些结果并将其放入php变量中,以便插入mysql数据库?

我对Java还比较陌生,对PHP也比较熟悉。

从用户的角度来看,AJAX将是最干净的。我会用jquery$.post来做这件事http://api.jquery.com/jQuery.post/.

您是否试图拆分地址组件?

就像街道,城市,州,邮编。。。。

如果是这样的话…您将需要查看地理编码的结果,并通过它返回的地址类型数组进行解析。

以下是一些您可以使用的快速示例代码。。。

//Startup a new geocode instance
var geocoder = new google.maps.Geocoder();
//event.latLng is a latLng object passed into the geocode function to get 
your addy results
geocoder.geocode({'location': event.latLng}, function(results, status) {
//Show the results here
console.log(results);
if (status == google.maps.GeocoderStatus.OK) {
    var addressResults = results[0].address_components;
    var address1 = "";
    var address2 = "";
    var city = "";
    var state = "";
    var zipCode = "";
    for(var i = 0; i < addressResults.length; i++){
        for(var j = 0; j < addressResults[i].types.length; j++){
            if(addressResults[i].types[j] == 'street_number'){
                address1 = addressResults[i].long_name;
                break;
            }
            if(addressResults[i].types[j] == 'route'){
                address1 += " " + addressResults[i].long_name;
                break;
            }
            if(addressResults[i].types[j] == 'subpremise'){
                address2 = addressResults[i].long_name;
                break;
            }
            if(addressResults[i].types[j] == 'locality'){
                city = addressResults[i].long_name;
                break;
            }
            if(addressResults[i].types[j] == 'administrative_area_level_1'){
                state = addressResults[i].short_name;
                break;
            }
            if(addressResults[i].types[j] == 'postal_code'){
                zipCode = addressResults[i].long_name;
                break;
            }
        }
    }
    //Do ajax post to your form here with the data you just parsed out
}
});