我一直致力于渲染谷歌地图,使用下面的代码:我已经通过语法树ECMAScript解析器,它看起来在语法上是正确的> 95%。
var mapfeats = function createMap(){
options = {
zoom: 4,
center: new google.maps.LatLng( 36.73, 10 ),
mapTypeId: google.maps.MapTypeId.ROADMAP,
},
map = new google.maps.Map(
document.onmouseover.getElementById( 'map-canvas' ),
options);
var bub1 = map.Data.Point(function(map){ var vro = lat(35.0761882) + "" + lng(1.04515982)});
var bub2 = map.Data.Point(function(map){ var whr = lat(40.5569782) + "" + lng(8.56081142)});
var pup = bub1[LatLng({split("vro")[9]})] + bub2[LatLng({split("whr")[9]})]
for (pup.length[i]; i += say, say = 37; say--) {
forEach(map.Marker(function(pup){ map.getShape("oval") }) );
}};
function mapit(){
var pt = mapfeats("pup");
for( index = 0; void pt < pup.length || index++; index < pt.length) {
var coor = pup.split(9);
latlng = new google.maps.LatLng( coor[0], coor[1], coor[2], coor [3] );
marker = new google.maps.Marker( {position: latlng, map: map},{clickable: true, mapfeats, map:map});
marker.setMap( map );
}};
现在我似乎无法理解的是,当我使用Chrome控制台进行调试时。我使用了地图api作为调试源。因为我在控制台中输入了函数,我遇到了:
google.maps.Map({lat: 35.0761882, lng: 1.04515982})
`main.js:53 Uncaught TypeError: this[Lb] is not a function `
`at Object.Vk [as Map] (http://maps.gstatic.com/maps-api-v3/api/js/20/11b/main.js:53:915)`
看一下图书馆,他们定义了没有评估的问题,因为它不是一个函数:
`var c=b||{};te(c.mapTypeId)||(c.mapTypeId="roadmap");this[Lb](c)`
因此,我希望能够问
(a)函数应该在Map对象文字中定义,以便编译器检查它。我正在工作: JS Fiddle 并且拥有无地图渲染的框架。我目前没有spidermonkey编译器。并且想知道为什么如果它与ECMASCRIPT语法树一起工作则不可编译,因此令牌应该被翻译成字节码。
(b)在浏览器中使用编译方法的其他Map API实例的客观用例。我仍然引用浏览器开发环境的新功能。
感谢您的帮助。
答案 0 :(得分:0)
此{lat: 35.0761882, lng: 1.04515982}
不是有效的MapOptions对象,而是LatLngLiteral
google.maps.Map({lat: 35.0761882, lng: 1.04515982})
需要:
google.maps.Map(document.getElementById('map-canvas'),{center:{lat: 35.0761882, lng: 1.04515982},zoom:3})
(需要居中和缩放,google.maps.Map构造函数将DOM节点作为其第一个参数)