【发布时间】:2013-12-27 00:58:59
【问题描述】:
/// <reference path="openlayers.d.ts" />
class MapComponent {
element: HTMLElement;
map: OpenLayers.Map;
constructor(element: HTMLElement) {
// Setup our map object
this.element = element;
this.map = new OpenLayers.Map(this.element);
}
init() {
// Setup our two layer objects
var osm_layer_map = new OpenLayers.Layer.OSM("OSM");
// Add layers to the map
this.map.addLayers([osm_layer_map]);
// Add a layer switcher control
this.map.addControl(new OpenLayers.Control.LayerSwitcher({}));
// Zoom the map to the max extent
if (!this.map.getCenter()) {
this.map.zoomToMaxExtent();
}
}
}
window.onload = () => {
var el = document.getElementById('map');
var mc = new MapComponent(el);
mc.init();
}
我有上面的代码可以处理一个简单的 HTML 文件,它只有 1 个 ID,'map' 样式:高度和宽度 @ 500px。
我尝试了其他几种方法来显示地图,但到目前为止我得到的只是一个白页(空白)。
谁能指出我正确的方向?
目前尝试的解决方案:
使用带有就绪功能的 jquery
将
window.onload替换为直接来自html的调用<script><script/>首次创建
this.map时将document.getElementById()放入新的OpenLayers.Map(here);中在上方和下方调用
window.onload(当前)使用导出类或公共
init()或同时使用两者
到目前为止,我只想让它工作。
【问题讨论】:
标签: class typescript openlayers