简体   繁体   中英

How do I search using the Google Maps API?

I'm trying to figure out how to search for nearby businesses in an iPhone app using the Google Maps API. I'm completely new to Javascript, and have waded through some of Google's sample code easily enough.

I found how to grab the user's current location. Now I want to search for "restaurants" near that location. I'm just building on the sample code from here . I'll post it below with my changes anyway, just in case.

<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps JavaScript API v3 Example: Map Geolocation</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript" src="http://code.google.com/apis/gears/gears_init.js"></script>
<script type="text/javascript">

var currentLocation;
var detroit = new google.maps.LatLng(42.328784, -83.040877);
var browserSupportFlag =  new Boolean();
var map;
var infowindow = new google.maps.InfoWindow();

function initialize() 
{
    var myOptions = 
    {
        zoom: 6,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    map.enableGoogleBar();

    // Try W3C Geolocation method (Preferred)
    if(navigator.geolocation) 
    {
        browserSupportFlag = true;
        navigator.geolocation.getCurrentPosition(function(position) 
        {
        // TRP - Save current location in a variable (currentLocation)
        currentLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
        // TRP - Center the map around current location
        map.setCenter(currentLocation);
    }, 

        function() 
        {
            handleNoGeolocation(browserSupportFlag);
        });
    }

    else 
    {
        // Browser doesn't support Geolocation
        browserSupportFlag = false;
        handleNoGeolocation(browserSupportFlag);
    }
}

function handleNoGeolocation(errorFlag) 
{
    if (errorFlag == true) 
    {
        // TRP - Default location is Detroit, MI
        currentLocation = detroit;
        contentString = "Error: The Geolocation service failed.";
    } 

    else 
    {
        // TRP - This should never run. It's embedded in a UIWebView, running on iPhone
        contentString = "Error: Your browser doesn't support geolocation.";
    }

    // TRP - Set the map to the default location and display the error message
    map.setCenter(currentLocation);
    infowindow.setContent(contentString);
    infowindow.setPosition(currentLocation);
    infowindow.open(map);
}

</script>
</head>
<body style="margin:0px; padding:0px;" onload="initialize()">
  <div id="map_canvas" style="width:100%; height:100%"></div>
</body>

</html>

Check out GLocalSearch object: http://code.google.com/apis/ajaxsearch/documentation/reference.html#_class_GlocalSearch

Is that what you are looking for?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM