将命名空间添加到javascript中
add namespace to your javascript
我几年前就已经在谷歌地图api上工作了,并编写了一个可重用的实用程序。那时,添加googlemapapi引用确实会在页面的全局命名空间中添加所有api类。由于这是工作样品
<script src="http://maps.google.com/maps?SOMEPARAMETERS">
<script>
var map= new GMap2(document.getElementById("map_canvas"));
var point= new LatLng(31,75);
var line= new Polyline(OPTIONS);
</script>
在v3中,所有Google Maps JavaScript API代码都存储在Google.Maps.*命名空间中,而不是全局命名空间中。作为这个过程的一部分,大多数对象也被重命名,并进行了更多的更改。
现在你必须按照以下编写上面的代码
<script src="APIURL">
<script>
var map= new google.map.Map(document.getElementById("map_canvas"));
var point= new google.mapLatLng(31,75);
var line= new google.map.Polyline(OPTIONS);
</script>
问题
我在Google v2 API时代写了一个库,并在许多项目中使用,效果很好。但现在我正在做一个新项目,并使用GoogleV3neneneba API,希望重用旧的v2库。但是添加v3库并没有在全局名称空间中添加API类,我的库也不起作用。有没有什么方法可以像在C#中那样将名称空间添加到JavaScript文件中,它允许我们在不添加名称空间的情况下编写类
您可以只使用引用:
(function() { // A scoping function to avoid creating glboals
var GMap2 = google.map.Map;
var LatLng = google.map.LatLng;
var Polyline = googlemap.Polyline;
// ...your code using the above here...
})();
不过,这是假设论点没有改变。
或者,您可以使用Facade模式:
function GMap2(/*...relevant args...*/)
return new google.map.Map(/*...relevant args here, possibly modified...*/);
}
(其他类似。)
(即使将new
与GMap2
一起使用也可以,因为如果返回对象,new
表达式的结果将是从构造函数返回的对象。)
相关文章:
- 单击更改图标并通过javascript添加一个css类
- 用Javascript添加带有#text的tr元素
- 如何将javascript添加到Wordpress侧边栏中
- 如果选中复选框,则 JavaScript 添加值
- 如何使用javascript添加svg
- 用javascript添加类,而不是替换
- 如何选择具有类名的元素并使用javascript添加到数组中
- 使用JSON和JavaScript添加额外的html列表元素
- 以编程方式将特定的JavaScript添加到Qualtrics中的特定问题中
- 使用JavaScript添加单词样式,但避免链接
- 如何将javascript添加到wordpress网站
- 使用 javascript 添加微数据
- 通过JavaScript添加引导按钮
- 通过javascript添加重复元素
- 如何使用Javascript添加和使用Div作为总计算器
- 关于为JavaScript添加适当的语言环境支持,我目前有什么建议可以遵循吗
- Javascript-添加具有不同值的相同属性
- 如果在数组中发现重复,则必须通过纯javascript添加带关键字的索引
- 在本地将javascript添加到examplep中以执行数学/公式运算
- JavaScript添加天数