2012-05-29 40 views
-1

我想搜索谷歌地方api上的特定地點的位置,並顯示在JSOn output.Suppose我想搜索我所有的銀行我附近的地方。我該如何編碼?請給出示例代碼。谷歌地方api我想要得到JSON輸出

關於, swathi。

+0

請閱讀谷歌Places API的文檔:https://developers.google.com/maps/documentation/places/ –

回答

0

試試這個工作代碼..它使用jQuery的手機。它會查找當前經緯度附近的位置。

map.html

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 



    <link rel="stylesheet" href="css/jquery.mobile-1.0.min.css" /> 


    <script src="js/jquery.js"></script> 
    <script src="js/jquery.mobile-1.0.js"></script> 
    <script src="js/map.js"></script> 

<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?sensor=true&libraries=places"></script> 

</head> 

<body> 
<div data-role="page" data-theme="none" class="page-map" id="page-map"> 
    <script src="js/canvas.js"></script> 
    <div id="map-canvas"> 
         <!-- map loads here... --> 
    </div> 
</div> 
</body> 
</html> 

map.js

var map; 
var infowindow; 
var lat; 
var lng; 
var lng; 
var service; 
var reference; 
var initialLocation; 

$('.page-map').live('pagecreate',function(event){   
    checkLocation(); 
}); 


function checkLocation() { 
    if (navigator.geolocation) { 

     navigator.geolocation.getCurrentPosition(function(position) { 

      initialLocation = new google.maps.LatLng(position.coords.latitude, 
        position.coords.longitude); 
      lat = position.coords.latitude; 
      lng = position.coords.longitude; 

      callPlaceService(lat, lng); 
     }, gpsFail, { 
      enableHighAccuracy : true, 
      maximumAge : 300000 
     }); 
    } 
} 

function callPlaceService(lat, lng) { 

    var pyrmont = new google.maps.LatLng(lat, lng); 

    var myOptions = { 
     zoom : 15, 
     center : pyrmont, 
     mapTypeId : google.maps.MapTypeId.ROADMAP 
    }; 
    map = new google.maps.Map(document.getElementById("map-canvas"), myOptions); 

    var request = { 
     location : pyrmont, 
     radius : 5000, 
     //types: ['atm','bank'], 
     keyword : 'Bank' 
    }; 

    service = new google.maps.places.PlacesService(map);  
    service.search(request, callback); 
} 

function callback(results, status) { 

    if (status == google.maps.places.PlacesServiceStatus.OK) { 

     for (var i = 0; i < results.length; i++) { 

      var requestDetails = {reference : results[i].reference}; 

      service.getDetails(requestDetails, checkDetailedStatus); 
     } 
    } 
} 

function checkDetailedStatus(details, detailStatus) { 
    if (detailStatus == google.maps.places.PlacesServiceStatus.OK) { 

     var name = '{"name":"'+ details.name +'"}'; 
     var address = '{"address":"' + details.formatted_address + '"}'; 
     var phone = '{"phone":"' + details.formatted_phone_number+ '"}';   
     var website = '{"website":"' + details.website + '"}'; 
     var full_address = name + "," + address + "," + phone + "," + website; 
     console.log(full_address); 
     var jsonTxt = JSON.stringify(full_address); 

    } 
} 

function gpsFail() { 
    //Geo-location is supported, but we failed to get your coordinates. 
} 
+0

謝謝給我code.I使用android tablet.i需要Java腳本aplictaion使用phonegap谷歌地圖。 – user1422875