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

时间:2011-02-09 10:58:48

标签: javascript controls

我创建了包含谷歌地图的用户控件。 用户控制中的代码如下

<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页面)中使用单个用户控件实例时,Everythings工作正常。 但是当我尝试在页面中多次使用此用户控件时,只显示第一个实例的地图。但对于其他情况,它没有显示任何空白

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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