谷歌放置api我想获得JSON输出

时间:2012-05-29 05:34:02

标签: google-maps google-places-api

我想搜索google places api上特定位置的位置,并在JSOn输出上显示它们。假设我想搜索我附近的所有银行。我如何为此编码。您可以提供示例代码。

的问候, swathi。

2 个答案:

答案 0 :(得分:0)

试试这个https://maps.googleapis.com/maps/api/place/search/json?location=13.117730,80.148430&radius=500&types=atm&sensor=false&key=yourkey

这里你需要根据你的距离给出半径。 类型可能是ATM,餐馆,加油站你需要的方式..

你需要给像chennai,banglore等地方,或者你提供纬度/经度......简单描述一下......在android / iphone中

答案 1 :(得分:0)

尝试这个工作代码..它使用jquery mobile。它找到了当前纬度和周围的位置。 LON。

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. 
}