开发者

Google Api Get nearest locations

I want to get the List of nearest locations of by passing an address of location. like: Los Angeles, should give me the list of all locations near to it either in json or xml format Is there any Go开发者_运维技巧ogle api for that purpose?


Google Places API has lists of places near a given point. For example you can search for bookshops near Convent Garden, London, UK. A good example can be found in the Google Maps Javascript API V3 Places Library documentation.

You can also use the Geonames.org data dump and roll your own geo queries or use their REST API. Using their database you can search for various types of geographical entities (see feature codes).

Most modern SQL Server deployments have some geospatial support, usually using some flavour of the Haversine Formula to find results nearby should you wish to download the data dump.

However, if you just want to use their public REST API you will find that they already have a Find Nearby Toponym method, that takes a Feature Code and various other search parameters and returns XML or JSON.

That should enable you to search for heliports within 50 km of San Francisco should you so wish!

If you would like to see this in action, in combination with Google Maps, here is something I just threw together (you'll need you own Geonames account). In case of a zombie attack you should avoid the following cemeteries in San Francisco.


'Google Geocoding API' this could help you to find the list of nearest locations by passing the address. for reference go to this link

http://code.google.com/apis/maps/documentation/geocoding/

You can use this API by passing the address. It can be also possible to find the list by passing the co-ordinates like latitude and longitude


I think you might mean LocalSearch API which is deprecated - it's Places API now.


Please refer this code below to understand properly along with API mentioning in script Link from I got the code and helped me to understand. https://www.geodatasource.com/developers/javascript

function distance(lat1, lon1, lat2, lon2, unit) {
    var radlat1 = Math.PI * lat1/180
    var radlat2 = Math.PI * lat2/180
    var theta = lon1-lon2
    var radtheta = Math.PI * theta/180
    var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
    if (dist > 1) {
        dist = 1;
    }
    dist = Math.acos(dist)
    dist = dist * 180/Math.PI
    dist = dist * 60 * 1.1515
    if (unit=="K") { dist = dist * 1.609344 }
    if (unit=="N") { dist = dist * 0.8684 }
    return dist
}

var data = [{
    "code": "0001",
    "lat": "1.28210155945393",
    "lng": "103.81722480263163",
    "location": "Stop 1"
}, {
    "code": "0003",
    "lat": "1.2777380589964",
    "lng": "103.83749709165197",
    "location": "Stop 2"
}, {
    "code": "0002",
    "lat": "1.27832046633393",
    "lng": "103.83762574759974",
    "location": "Stop 3"
}];

var LocNear= "";
var poslat = 1.28210155945393;
var poslng = 103.81722480263163;

for (var i = 0; i < data.length; i++) {
    // if this location is within 0.1KM of the user, add it to the list
    if (distance(poslat, poslng, data[i].lat, data[i].lng, "K") <= 0.1) {
        LocNear+= '<p>' + data[i].location + ' - ' + data[i].code + '</p>';
    }
}

$('#nearbystops').append(LocNear);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜