如何传递map-canvas作为字符串,而不是从document.getElementById获取它

how to pass map-canvas as string instead of getting it from document.getElementById

本文关键字:document getElementById 获取 map-canvas 何传递 字符串      更新时间:2023-09-26

是否有像这样传递字符串变量的方法:

var mapCanvas = '<div id="map-canvas"></div>';

var map = new google.maps.Map(mapCanvas,mapOptions);

在我的情况下,这是给我的错误,因为我动态地生成我的页面,有了这个,我的意思是我只有一个div在我的身体,生成地图和一切,然后我把它们附加到我的div.但是当我这样做,我在谷歌地图本身有错误。诸如位置未定义之类的错误。为什么会发生这种情况?

google.maps.Map

需要一个DOM对象,所以你可以先在主体中添加#map-canvas,然后在你的google地图初始化代码中使用它。

$("body").append('<div id="map-canvas"></div>');
map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);

在这个例子中,我使用JQuery库将DIV附加到Body: $("body").append()