1

我正在使用使用 Google Map 的 api 的 Polymer 创建一个自定义元素。我希望这个元素负责包含谷歌地图的脚本标签。

这在自定义元素中应该放在哪里?简单地将其放在页面顶部会引发跨域问题。

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

<link rel="import" href="../bower_components/polymer/polymer.html">

<polymer-element name="google-map" noscript>
    <template>
        <div id="stage"></div>
    </template>

    <script>
        Polymer('google-map', {
            ready: function() {
                new google.maps.Map(this.$.stage, {
                    zoom: 15,
                    center: new google.maps.LatLng(0, 0),
                    mapTypeId: google.maps.MapTypeId.ROADMAP,
                    overviewMapControl: false,
                    panControl: false,
                    rotateControl: false,
                    scaleControl: false,
                    streetViewControl: false,
                    draggable: false,
                    maxZoom: 21
                });
            }
        });
    </script>
</polymer-element>
4

1 回答 1

1

Fwiw,我相信目前规格中的规定是<script src...>CORS 在进口中受到限制。

您可以在此处的 google-maps 元素中查看我们如何处理此问题:

https://github.com/Polymer/google-map/blob/master/google-map.html

关于将这种类型的加载机制本身推广到组件中已经有一些想法,但还没有人执行。

于 2014-02-12T22:54:57.280 回答