我有以下产生谷歌地图实例的typescript类。我是javascript / typescript和HTML的新手!
/// <reference path="./google.maps.d.ts" />
module Mapping {
export class GoogleMap implements IMap {
public name: string;
private map: any;
private options: any;
constructor (mapDiv: Element) {
this.name = "GoogleMap";
this.options = {center: new google.maps.LatLng(53.83305, -1.66412), zoom: 3, MapTypeId: 'terrian' };
this.map = new google.maps.Map(mapDiv, this.options);
}
}
}
在我看来,我有以下内容;
<!DOCTYPE html>
<html>
<head><title>TypeScript Mapping</title></head>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MyKEYGOESHERE&sensor=false"></script>
<script type="text/javascript" src="~/scripts/require.js"></script>
<script type="text/javascript" src="~/typings/Mapping.js"></script>
<script type="text/javascript">
function initialize() {
var mapCanvas = document.getElementById("map");
Mapping.GoogleMap(mapCanvas);
}
</script>
<body onload="initialize()">
<div id="map" style="height: 512px; width: 512px;"></div>
</body>
</html>
我在运行时获得的只是一个灰色框,在此框内拖动会将指针更改为指针,因此看起来控件已创建好,只是没有显示任何地图细节。
有人有任何想法吗?
提前致谢。
答案 0 :(得分:1)
只是回应评论中的发现:
看起来你的地图选项定义不正确。尝试...
constructor (mapDiv: Element) {
this.name = "GoogleMap";
this.options = {
center: new google.maps.LatLng(53.83305, -1.66412),
zoom: 3,
MapTypeId: google.maps.MapTypeId.TERRAIN
};
this.map = new google.maps.Map(mapDiv, this.options);
}
答案 1 :(得分:0)
<强>答案:强>
Google MapTypeId
是一个常数,所以你可以直接去这里找房子:
google.maps.MapTypeId.CONSTANT
目前他们支持4种类型:
Constant - Description
HYBRID - Displays a photographic map + roads and city names
ROADMAP - Displays a normal, default 2D map
SATELLITE - Displays a photographic map
TERRAIN - Displays a map with mountains, rivers, etc.
<强>附加组件:强>
我已在TypeScript中为TypeScript应用程序/页面中的Google地图创建了一个简短的演示应用程序:
https://github.com/DominikAngerer/typescript-google-maps
目前支持:
关于todo也是打字支持,所以问题就在你到达那里不应该再发生。