2016-04-22 7 views
2

Wie kann ich Wasserkörper Name von Google Map API bekommen? Zum Beispiel, wenn ich auf die Karte klicke, wähle ich "Was ist hier?" Das Popup wird mit dem Namen und den Koordinaten des Sees angezeigt. Ich brauche diesen Namen. enter image description hereGoogle Maps API - Wasserkörper Name

Antwort

1

Lake Michigan ist in der Places API an diesen Koordinaten. Der "Name" ist jedoch "Lake Michigan/Michigan City".

die Google Maps Javascript API v3 Places-Bibliothek:

Code-Schnipsel:

var map; 
 
var infowindow; 
 
var service; 
 

 
function initialize() { 
 
    map = new google.maps.Map(
 
    document.getElementById("map_canvas"), { 
 
     center: new google.maps.LatLng(43.4501005, -87.2220187), 
 
     zoom: 8, 
 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 
    infowindow = new google.maps.InfoWindow(); 
 
    service = new google.maps.places.PlacesService(map); 
 
    service.nearbySearch({ 
 
    location: map.getCenter(), 
 
    radius: 500 
 
    }, callback); 
 
} 
 

 
function callback(results, status) { 
 
    if (status === google.maps.places.PlacesServiceStatus.OK) { 
 
    console.log("OK:" + results.length) 
 
    for (var i = 0; i < results.length; i++) { 
 
     console.log(results[i]); 
 
     var marker = createMarker(results[i]); 
 
     if (i == 0) google.maps.event.trigger(marker, 'click'); 
 
    } 
 
    } 
 
} 
 

 
function createMarker(place) { 
 
    var placeLoc = place.geometry.location; 
 
    var marker = new google.maps.Marker({ 
 
    map: map, 
 
    position: place.geometry.location 
 
    }); 
 

 
    google.maps.event.addListener(marker, 'click', function() { 
 
    infowindow.setContent(place.name + "<br>place_id:" + place.place_id); 
 
    infowindow.open(map, this); 
 
    service.getDetails({ 
 
     placeId: place.place_id 
 
    }, function(place, status) { 
 
     if (status === google.maps.places.PlacesServiceStatus.OK) { 
 
     google.maps.event.addListener(marker, 'click', function() { 
 
      infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + 
 
      'Place ID: ' + place.place_id + '<br>' + 
 
      place.formatted_address + '</div>'); 
 
      infowindow.open(map, this); 
 
     }); 
 
     google.maps.event.trigger(marker, 'click'); 
 
     } 
 
    }); 
 
    }); 
 
    return marker; 
 
} 
 

 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map_canvas { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script> 
 
<div id="map_canvas"></div>

+1

Ok, aber was ist mit anderen kleineren Seen, für ex. Alter Weibessee (50.111392, -106.031389)? Wenn ich ein Skript von oben verwende, gibt es nichts zurück. – TonyWWL