1

map.html という名前のページを取得しました。これは、Google マップ API を使用する単純な html です。

<head>
    <script type="text/javascript"
            src="https://maps.googleapis.com/maps/api/js?key=XXXXXXX&sensor=true&region=IL">
    </script>
    <script src="map.js" type="text/javascript"></script>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
</head>
        <body>

        </body>
<template name="map">
    <div id="map-canvas"></div>
</template>

このページにルーティングするために、iron-router を使用しています。

this.route("map");

pathFor も使用:

<a href="{{pathFor 'map'}}" class="map"><div class="inner">set location</div></a></div>

そして最後に、map.js という名前の別のファイルにある私の Google マップの初期化関数:

$(document).ready(function () {

    function initialize() {
        var TLV = new google.maps.LatLng(32.06461, 34.777222);
        var mapOptions = {
            zoom: 12,
            center: TLV,
            panControl: false,
            zoomControl: false,
            mapTypeControl: true,
            scaleControl: false,
            streetViewControl: false,
            overviewMapControl: true,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

        marker = new google.maps.Marker({
            position: TLV,
            map: map,
            title: 'Hello World!',
            draggable: true
        });

        google.maps.event.addListener(marker, 'dragend', function (evt) {
            var pos = [marker.getPosition().lat(), marker.getPosition().lng()];
            console.log(pos);
        });
    }
    google.maps.event.addDomListener(window, 'load', initialize);
});

http:localhost/map に手動でルーティングする場合はすべて正常に動作しますが、localhost から移動してそのルートのリンクをクリックすると、マップが機能しなくなります。起動時に meteor がすべてのファイルを提供することがわかりました。それを防ぐ?または、特定のファイルを特定のページに提供する方法は?

4

1 に答える 1