【问题标题】:KML file not overlaying on google map in wordpress siteKML 文件未覆盖在 wordpress 网站的谷歌地图上
【发布时间】:2013-09-25 10:03:09
【问题描述】:

所以,我正在组合一个插件,该插件显示谷歌地图和一些标记,客户希望地图也显示时区。我有一个有效的KML file,它显示了上传到谷歌驱动器并从那里查看时的时区,但它不会显示在我网站的地图上。我用来显示地图的 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
});

我已经尝试了所有三个被注释掉的网址,只有一个托管在 gmaps-samples 子域上的网址有效。 php_data.mapKML 是我最理想的使用方式。 php_data['mapKML'] 是使用 wp_localize_script 从 wordpress 传递的,并且包含指向 KML 文件的有效 URL。但即使是谷歌文档上的文件链接似乎也不起作用。但这不是文件的问题,因为直接从谷歌驱动器查看时它显示良好。

我认为这可能是一个访问问题,因为我在处理插件时网站是在本地托管的,但是由 google 托管的 kml 文件可以正常工作。

我被难住了。也许其他人可以对此有所了解。

【问题讨论】:

标签: javascript wordpress google-maps kml


【解决方案1】:

当您说“当我在插件上工作时该站点在本地托管”时,这是否意味着该站点在外部不可用?如果是这种情况,它将无法正常工作,因为 KML 需要可供 Google 服务器访问,而不是浏览器。

【讨论】:

  • 但是 URL #2,托管在 google drive 上并公开共享的 URL 也不起作用。
  • 嗯……那还不确定。当然,KML 需要在外部可用,因此值得牢记。会不会是 HTTP 与 HTTPS 的问题?
猜你喜欢
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 2019-03-26
  • 2012-02-19
  • 1970-01-01
  • 2013-05-03
  • 2012-06-26
相关资源
最近更新 更多