Javascript 谷歌地图api无法读取placesservice

Javascript 谷歌地图api无法读取placesservice,javascript,google-maps,google-maps-api-3,google-places-api,Javascript,Google Maps,Google Maps Api 3,Google Places Api,我对谷歌的地图API和PlacesService有问题。尽管我已经正确加载了places库,但它一直在说“无法读取未定义的属性'PlacesService'。地图本身工作并加载。有什么想法吗?代码如下: <div id="map-canvas"></div> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&libraries=place‌s"&g

我对谷歌的地图API和PlacesService有问题。尽管我已经正确加载了places库,但它一直在说“无法读取未定义的属性'PlacesService'。地图本身工作并加载。有什么想法吗?代码如下:

<div id="map-canvas"></div>

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&libraries=place‌s"></script>
<script type="text/javascript">
    var myLatlng;
    var map;
    var marker;

    function initialize() {
        myLatlng = new google.maps.LatLng(fooLat, fooLng);

        var mapOptions = {
            zoom: 17,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scrollwheel: false,
            draggable: true
        };

        map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

        var service = new google.maps.places.PlacesService(map);

        var request = { placeId: 'fooPlaceId'};
        service.getDetails(request, callback);

        function callback (place, status) {
            if (status == google.maps.places.PlacesServiceStatus.OK) {
                marker = new google.maps.Marker({
                    position: place.position,
                    map: map,
                    title: place.name
                });
            }
        };
    }

    google.maps.event.addDomListener(window, 'load', initialize);
</script>

var Mylatng;
var映射;
var标记;
函数初始化(){
myLatlng=新的google.maps.LatLng(傻瓜,傻瓜);
变量映射选项={
缩放:17,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP,
滚轮:错误,
德拉格布尔:是的
};
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
var service=newgoogle.maps.places.PlacesService(地图);
var请求={placeId:'foodplaceid'};
获取详细信息(请求、回调);
函数回调(位置、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
marker=新的google.maps.marker({
位置:place.position,
地图:地图,
标题:place.name
});
}
};
}
google.maps.event.addDomListener(窗口“加载”,初始化);
更新:
我实际上只是尝试了一段代码,它给了我同样的错误。

答案是:我直接从某个页面复制了include行(这里是stackoverflow,或者是Google API的一个示例页面。问题似乎在于,无论出于何种原因,它的库名中有一个不可见的字符,而我的CMS编辑器没有注意到。所以复制时要小心!

此示例需要Places库。包括
libraries=Places
参数w当您第一次加载带有API密钥的API时

例如:


如果您有答案,请将其作为答案发布,而不是编辑问题。注意:如果您需要启用多个库,请使用逗号将它们分隔开-例如
&libraries=geometry,places
不确定为什么会被否决-如果复制OP的“libraries”querystring参数,您将得到三个Invisible在“位置”的“e”和“s”之间有e个字符:十六进制的E2、80和8C。我没想到!