用户控件中的 Google 地图不适用于多个实例

发布于 2024-10-16 20:59:07 字数 886 浏览 0 评论 0原文

我创建了包含 google map 的用户控件。 用户控件中的代码如下

<script type="text/javascript" language="javascript">
var map;
function intialize(){
  map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

        //set the default center
       map.setCenter(myLatlng);
        //set the default zoom
       map.setZoom(initialZoom);

        //Set the map type
       map.setMapTypeId(google.maps.MapTypeId.SATELLITE);
}
</script>

HTML code:
<div id="map_canvas" style="float: left; width: 100%; height: 300px; border: solid 1px black;" > </div>

调用Initialize()函数是从代码后面(.ascx.cs)使用 Me.Page.ClientScript.RegisterStartupScript(Me.GetType(), "FunctionCall", "initialize();")

在父页面(.aspx 页面)中使用用户控件的单个实例时,一切正常。 但是,当我尝试在页面中多次使用此用户控件时,仅显示第一个实例的地图。但对于其他实例,它只显示空白,

我想为用户控件的所有实例显示 Google 地图 例如,当用户控件使用 4 次时,应显示 4 张地图

I have created user control which contains google map .
code in user control is as follows

<script type="text/javascript" language="javascript">
var map;
function intialize(){
  map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

        //set the default center
       map.setCenter(myLatlng);
        //set the default zoom
       map.setZoom(initialZoom);

        //Set the map type
       map.setMapTypeId(google.maps.MapTypeId.SATELLITE);
}
</script>

HTML code:
<div id="map_canvas" style="float: left; width: 100%; height: 300px; border: solid 1px black;" > </div>

Call to Initialize() function is from code behind(.ascx.cs) using
Me.Page.ClientScript.RegisterStartupScript(Me.GetType(), "FunctionCall", "initialize();")

Everythings works fine when single instance for user control is used in parent page (.aspx page).
But when I tried to used this user control multiple times in page ,only map for 1st instance is showing. But for other instances it is not showing anything but blank

I want to display Google maps for all instances of the user control
For ex when user control is used 4 times,4 maps should be displayed

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迎风吟唱 2024-10-23 20:59:07

我要尝试的第一件事是为每个 div 元素生成一个唯一的 ID。

The first thing I would try is generating a unique ID for each div element.

凉宸 2024-10-23 20:59:07

JavaScript 只会将地图添加到第一个“map_canvas”div。您可能需要使用 jquery 并更改 div id 才能使其工作。

The javascript will only add the map to the first "map_canvas" div. You might need to use jquery and change the div ids for this to work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文