2

アカデミックプロジェクトでGoogleマップを使用していますが、数週間以降、ズームイン、ズームアウトなどの特定の操作をマップで実行するたびに、マップに表示されるメッセージが表示されます。理由は何ですか?で何かを構成する必要がありますか?私のコード。ここに画像の説明を入力してください

上の画像のメッセージを見ると、メッセージのタイトルは「マップデータ」です。プロジェクトではオープンレイヤーマップを使用しており、コーディング言語はPHPです。

4

1 に答える 1

1

ここで、地図データの著作権を隠蔽している要素が原因の1つである可能性があることを読みましたが、これについて言及せずに同じ通知がポップアップするという苦情がいくつか見つかりました。

私が見つけた最も有望なオプションは、解決策が2.12にアップグレードすることである、またはアップグレードできない場合は、OpenLayers.jsをインクルードした後にパッチを適用することであるというページです。

<script src="http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false"></script>
    <script src="../lib/OpenLayers.js"></script>
    <script>
    OpenLayers.Layer.Google.v3.repositionMapElements = function() {
        // This is the first time any Google layer in this mapObject has been
        // made visible.  The mapObject needs to know the container size.
        google.maps.event.trigger(this.mapObject, "resize");

        var div = this.mapObject.getDiv().firstChild;
        if (!div || div.childNodes.length < 3) {
            this.repositionTimer = window.setTimeout(
                OpenLayers.Function.bind(this.repositionMapElements, this),
                250
            );
            return false;
        }

        var cache = OpenLayers.Layer.Google.cache[this.map.id];
        var container = this.map.viewPortDiv;

        // move the ToS and branding stuff up to the container div
        // depends on value of zIndex, which is not robust
        for (var i=div.children.length-1; i>=0; --i) {
            if (div.children[i].style.zIndex == 1000001) {
                var termsOfUse = div.children[i];
                container.appendChild(termsOfUse);
                termsOfUse.style.zIndex = "1100";
                termsOfUse.style.bottom = "";
                termsOfUse.className = "olLayerGoogleCopyright olLayerGoogleV3";
                termsOfUse.style.display = "";
                cache.termsOfUse = termsOfUse;
            }
            if (div.children[i].style.zIndex == 1000000) {
                var poweredBy = div.children[i];
                container.appendChild(poweredBy);
                poweredBy.style.zIndex = "1100";
                poweredBy.style.bottom = "";
                poweredBy.className = "olLayerGooglePoweredBy olLayerGoogleV3 gmnoprint";
                poweredBy.style.display = "";
                cache.poweredBy = poweredBy;
            }
            if (div.children[i].style.zIndex == 10000002) {
                container.appendChild(div.children[i]);
            }
        }

        this.setGMapVisibility(this.visibility);
    };
    </script>
    <script src="google-v3.js"></script>
于 2012-05-29T14:41:15.863 に答える