php读取地址代码
1,方法一,要用到google的map key
- <?php
- define(“MAPS_HOST", “maps.google.com");
- define(“KEY", “ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA");
- $address = !emptyempty($_POST[‘address’])?$_POST[‘address’]:“上海徐汇区漕宝70号";
- $base_url = “http://" . MAPS_HOST . “/maps/geo?output=json&oe=utf8&sensor=false&key=" . KEY. “&q=".urlencode($address);
- $data = json_decode(file_get_contents($base_url));
- switch($data->Status->code){
- case 200:
- $coordinates = $data->Placemark[0]->Point->coordinates;
- $lat = $coordinates[1]; //北维
- $lng = $coordinates[0]; //东经
- break;
- case 620:
- echo “请求频率过快";
- break;
- case 610:
- echo “api key不正确";
- break;
- case 400:
- echo “页面编码不正确";
- break;
- default:
- echo “请求失败";
- }
- ?>
2,方法二
- <?php
- $address = !emptyempty($_POST[‘address’])?$_POST[‘address’]:“上海徐汇区漕宝70号";// Google HQ
- $prepAddr = str_replace(‘ ‘,‘+’,$address);
- $geocode=file_get_contents(‘http://maps.google.com/maps/api/geocode/json?address=’.$prepAddr.‘&sensor=false’);
- $output= json_decode($geocode);
- $lat = $output->results[0]->geometry->location->lat;
- $lng = $output->results[0]->geometry->location->lng;
- ?>
这样就可以得到坐标,只有一对。
三,google map js api根据地理坐标,显示地址
- <script type=“text/javascript">
- $(document).ready(function () {
- initGoogleMap();
- });
- function initGoogleMap(){
- google.maps.event.addDomListener(window, ‘load’, function() {
- var map = new google.maps.Map(document.getElementById(‘bannerbox’), {
- zoom: 13,
- center: new google.maps.LatLng(<?php echo $lat;?>, <?php echo $lng;?>),
- mapTypeId: google.maps.MapTypeId.ROADMAP
- });
- var infoWindow = new google.maps.InfoWindow;
- var onMarkerClick = function() {
- var marker = this;
- var latLng = marker.getPosition();
- infoWindow.setContent(“<h3>输入的位置:</h3><?php echo $address;?><br><h3>坐标是:</h3><?php echo $lat;?>, <?php echo $lng;?>");
- infoWindow.open(map, marker);
- };
- google.maps.event.addListener(map, ‘click’, function() {
- infoWindow.close();
- });
- var marker1 = new google.maps.Marker({
- map: map,
- position: new google.maps.LatLng(<?php echo $lat;?>, <?php echo $lng;?>),
- });
- google.maps.event.addListener(marker1, ‘click’, onMarkerClick);
- });
- }
- </script>