google.maps.places 未定义 [英] google.maps.places is undefined
问题描述
我有一个网站,可以通过 Google 地图、街道和地点加载一个位置的 3 个单独视图".
I have a website that loads 3 seperate "views" of a location via Google Maps, Street and Places.
请看下面我的代码:
我终于让地图和街景正常工作了,但在这方面有点挣扎.
I have finally gotten Maps and Street view to work properly but am struggling a bit with this one.
我有一个与地图显示相同但添加了地点的选项卡.
I have a tab that displays the same as map but with places added.
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?v=3&key=....&sensor=false&callback=initializeMap"></script>
<script type="text/javascript">
var myLattitude = <?php echo $data["lattitude"]; ?>;
var myLongitude = <?php echo $data["longitude"]; ?>;
var poiMap;
var infowindow;
function initializePoi() {
var poiCentre = new google.maps.LatLng(myLattitude, myLongitude);
poiMap = new google.maps.Map(document.getElementById('poi-canvas'), {
center: poiCentre,
zoom: 15
});
var request = {
location: poiCentre,
radius: 500,
types: ['store']
};
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(poiMap);
service.nearbySearch(request, 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(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: poiMap,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(poiMap, this);
});
}
现在这已正确初始化,但控制台抛出以下错误:类型错误:google.maps.places 未定义
Now This initializes properly but the console throws the following error: TypeError: google.maps.places is undefined
我只想知道为什么会出现这个错误,我喜欢干净无错误的代码.
I just want to know why I get this error, I like having clean errorless code.
这些地方确实显示正确,一切正常.
The places do actually show up properly and everything.
推荐答案
您应该在 Google API URL 中添加选项 libraries=places
You should add the option libraries=places
in the Google API URL
在您的情况下,您应该替换以下内容:
In your case you should replace the following:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&key=....&sensor=false&callback=initializeMap"></script>
有了这个:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&key=....&sensor=false&callback=initializeMap&libraries=places"></script>
查看src=""
这篇关于google.maps.places 未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!