谷歌地图-InvalidValueError:setMap:不是Map的实例



我的代码如下:

var mapLatLng = new google.maps.LatLng(27, -83)
var mapOptions = {
zoom: 8,
center: mapLatLng,
draggable: true,
mapTypeId: google.maps.MapTypeId.TERRAIN,
gestureHandling: ‘cooperative’,
minZoom: 7
}
this.map = new google.maps.Map(document.getElementById(‘map_canvas’), mapOptions);
this.drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYGON,
map: this.map
)}

在我的html中,我有

<div id =“map_canvas”></div>

我知道问题是什么,但我不确定如何解决。我需要使用一个实用程序类,该类可以导入带有位置库的谷歌地图api。然而,在另一个实用程序类中,我必须从googlemapsapi导入图形和几何图形库。

我必须这样做,因为前者包括我的应用程序所需的组件,但前者没有我也需要的图形和几何图形库。我无法编辑以前的实用程序类。如果可以的话,我会添加绘图和几何图形库。

我能做到这一点的唯一方法是导入两次谷歌地图api。问题是我从标题中得到了这个setMap错误。在两次导入谷歌地图api时,我是否可以绕过这个问题?

调用Maps API两次可能会导致错误,比如这个JS错误:

您已多次在此页面上包含Google Maps API。这可能会导致意外错误。

例如,参见";您已经在该页面上多次包含Google Maps API";错误

您应该能够修改现有的JavaScript API调用以包含额外的库。在中,只调用API一次,并将所有这些库包含在请求中,如下所示:

https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places,drawing,geometry

希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新