对象文字的功能Google Maps API

时间:2015-05-15 21:07:12

标签: javascript google-maps-api-3 ecmascript-6

我一直致力于渲染谷歌地图,使用下面的代码:我已经通过语法树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实例的客观用例。我仍然引用浏览器开发环境的新功能。

感谢您的帮助。

1 个答案:

答案 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节点作为其第一个参数)