0

ローカル サーバーで leaflet.js ライブラリを使用しているときに、この非常に奇妙な状況が見つかりました。

コード:

    <!DOCTYPE html>
<html>
    <head>
        <title>map lab</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <link rel="stylesheet" href="leaflet.css" />
        <script src="leaflet.js"></script>
        <style type='text/css'>
            #map { height: 256px; }
        </style>
    </head>
    <body>
        <div id='map'></div>
        <script type='text/javascript'>
            var map = new L.map('map').setView([0.0, 0.0], 14);
            L.tileLayer('http://10.21.142.254/lab/map/{z}/{x}/{y}.png', {
                maxZoom: 18,
                attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>'
            }).addTo(map); 

        </script>
    </body>
</html>

問題ありませんが、何も「ロード」されません。Firebug を使用して FF を調べると、「html」全体がスクリプト タグ内に挿入されていることがわかりました (7 行目)。つまり、htm 全体とリーフレット コードを含む がその中にあり、コンソールは (明らかに) 構文エラーを返します。

Github からリーフレットをダウンロードし、すべてのタイプのそれをディレクトリ構造に配置しようとしましたが、結果はありませんでした。

さらに、以下を使用してサーバーからリーフレット ライブラリをロードします。

<script src="http://cdn.leafletjs.com/leaflet-0.4/leaflet.js"></script>

これまでのところうまくいきます。

私は何が欠けていますか?

4

1 に答える 1

0

Ok。私の間違い。どういうわけか、相対ではなく絶対パス URL を使用してリンクを設定すると、この問題が解決します。

それ以外の:

<link rel="stylesheet" href="leaflet.css" /> <script src="leaflet.js"></script>

使用する:

<link rel="stylesheet" href="http://www.domain.com/lab/js/leaflet.css" /> <script src="http://www.domain.com/lab/js/leaflet.js"></script>

どうも。

于 2012-08-16T16:16:23.260 に答える