Google Maps Autocomplete 出于某种原因无法正常工作

新手上路,请多包涵

这是功能:

 function initializeMap(){
        var LatLng = {lat: 20.23, lng: -8.28460};
        var mapOptions = {
            center: LatLng,
            zoom: 6,
            scrollwheel:false
        }

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

        var marker = new google.maps.Marker({
                position: LatLng,
                map: map,
                draggable: true,
                title: "Binko"
        });

        var input = document.getElementById('accommodation_address');
        var autocomplete = new google.maps.places.Autocomplete(input);
        autocomplete.bindTo('bounds',map);

        google.maps.event.addListener(autocomplete, 'place_changed',function(){
            var place=autocomplete.getPlace();
            if (!place.geometry){
                return;
            }
            if (place.geometry.viewport) {
                map.fitBounds(place.geometry.viewport);
            } else {
                map.setCenter(place.geometry.location);
                map.setZoom(17);
            }

            marker.setPlace( ({
                placeId: place.place_id,
                location: place.geometry.location
            }));
        });
    };

google.maps.event.addDomListener(window, 'load', initializeMap);

我收到未捕获的类型错误,说未定义自动完成,即使我包含了库。我的 API 调用如下所示:src=”https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&libraries=places”>

原文由 BroDev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 360
1 个回答

我有过类似的问题。谷歌地图和自动完成在我的旧网站和本地主机上有效,但在新网站上无效。我必须创建 api 密钥并将其包含在代码中:

 <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places"></script>

然后我在开发人员控制台(我有 api 密钥)中启用其他 api。脚步:

  1. 选择你的项目
  2. 在左侧的 API Manager 菜单中单击 Overview
  3. 查找 Google Places API Web 服务(您可以将其键入搜索框或在 Google Maps API 之间查找)
  4. 点击 Google Places API 网络服务
  5. 单击启用按钮

原文由 StevoF 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题