【发布时间】:2016-05-02 21:53:13
【问题描述】:
我正在尝试建立一个网站,使用户能够按下按钮或链接,它会向他们展示他们所在位置附近的商店。我使用了getCurrentPosition 并放置了搜索服务,它们单独运行良好,但是当我将两者结合起来时没有任何反应。我认为有一种我不知道如何组合它们的方法。
下面是我结合的代码。
<head>
<title>Churchtraker final</title>
<meta name="viewport" content = "initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height:100%;
}
</style>
<script>
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(initMap);
} else {
error('Sorry , Geolocation is not supported in your device');
}
var map;
var infowindow;
function initMap() {
var latitude = new google.maps.LatLng(position.coords.latitude);
var longitude = new google.maps.LatLng(position.coords.longitude);
var coords = { lat: latitude, lng: longitude };
map = new google.maps.Map(document.getElementById('map'), {
center: coords,
zoom:15
});
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.nearbySearch({
location: coords,
radius:7000,
type: ['store']
}, callback);
}
function callback(results, status) {
if(status === google.maps.places.placesServiceStatus.OK) {
for(var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
}
}
function createMarker() {
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);
infowindow.open(map , this);
});
}
</script>
</head>
<body>
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=My_API_KEY&libraries=places&callback=initMap" async defer></script>
</body>
【问题讨论】:
标签: javascript google-maps google-maps-api-3