そこで、Google マップとその上にいくつかのマーカーを表示するプラグインをまとめています。顧客はマップにタイム ゾーンも表示することを望んでいます。Google ドライブにアップロードしてそこから表示したときのタイム ゾーンを示す有効なKML ファイルがありますが、サイトの地図には表示されません。マップを表示するために使用しているJavaScriptは
var map;
var mapOptions = {
zoom: 1,
//styles: style,
draggable: false,
zoomControl: false,
scrollwheel: false,
disableDoubleClickZoom: true,
center: new google.maps.LatLng(30, 0),
MapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
};
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
var timeZones = new google.maps.KmlLayer( {
//url: php_data.mapKML, //DOESN'T WORK
//url: 'https://docs.google.com/file/d/0B45QP71QXoR0TnVxTWtUb2piVUk/edit?usp=sharing', //DOESN'T WORK
//url: 'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml', //WORKS
map: map
});
コメントアウトされた 3 つの URL をすべて試しましたが、gmaps-samples サブドメインでホストされているものだけが機能します。これphp_data.mapKML
は私が理想的に使用するものです。php_data['mapKML']
を使用して wordpress から渡されwp_localize_script
、KML ファイルへの有効な URL が含まれています。しかし、Google ドキュメントのファイルへのリンクでさえ機能していないようです。しかし、Googleドライブから直接表示すると問題なく表示されるため、ファイルの問題ではありません。
プラグインの作業中にサイトがローカルでホストされているため、アクセスの問題である可能性があると思いましたが、Google がホストする kml ファイルは正常に動作します。
私は困惑しています。たぶん、他の誰かがこれに光を当てることができます。