【问题标题】:Maps API doesn't show the mapMaps API 不显示地图
【发布时间】:2016-05-15 22:24:38
【问题描述】:

我正在使用以下代码来显示一个地图,其中包含 wamp www 文件夹内的文件夹中 json 存档的各个点。但是,结果是一个空白页。

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Marker Labels</title>
    <style>
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map {
        height: 100%;
      }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?key=NUMBER OFMYKEY&signed_in=true"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="app.js">
    <script>
      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <div id="map"></div>
  </body>
</html>

dados.json

{
        "universities": [
            {
                "title": "Aberystwyth University",
                "website": "www.aber.ac.uk",
                "phone": "+44 (0)1970 623 111",
                "lat": 52.415524,
                "lng": -4.063066},
            {
                "title": "Bangor University",
                "website": "www.bangor.ac.uk",
                "phone": "+44 (0)1248 351 151",
                "lat": 53.229520,
                "lng": -4.129987},
            {
                "title": "Cardiff Metropolitan University",
                "website": "www.cardiffmet.ac.uk",
                "phone": "+44 (0)2920 416 138",
                "lat": 51.482708,
                "lng": -3.165881}
        ]
    }

app.js

function getLocal(callback){
  $.getJSON("localhost/dados/dados.json", callback);
};

  function initialize() {
    var myLatLng = new google.maps.LatLng(52.415524, 4.063066);
    var mapOptions = {
      zoom: 10,
      center: myLatLng,
      mapTypeId: google.maps.MapTypeId.ROADMAP

    }
  var map = new google.maps.Map(document.getElementById('map'),mapOptions);

  getLocal(function(data){
    var locals = data.universities;
    var local, latLng;

    for(i in universities){
      local= universities[i];
      latLng = new google.maps.LatLng(local.lat, local.lng);

      var marker = new google.maps.Marker({
        position: latLng,
        label: "D",
        map: map,
        title: local.title
      });
    }
  });
}

更新:

控制台出现以下错误:

jquery.min.js:4 XMLHttpRequest cannot load file:///C:/Users/noot01/Dropbox/Lucas%20Torres/Projetos/_teste/dengue/denge_teste2/localhost/dados/dados.json. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

【问题讨论】:

  • 您真的要在生产环境中使用 file:// 协议加载 JSON 吗?这就是:根据错误消息无法正常工作。

标签: javascript json google-maps google-maps-api-3


【解决方案1】:

你错过了 &lt;script src="app.js"&gt; 的结束 &lt;/script&gt;

另外: 此行中有 2 个错误:

mapTypeId: google.mapsp.mapTypeId.ROADMAP
//--------------------^-^

应该是

mapTypeId: google.maps.MapTypeId.ROADMAP

【讨论】:

  • 是的,地图现在显示出来了,但是带有标记的 json 存档还没有
【解决方案2】:

也尝试分配宽度

 <style>
  html, body {
    height: 100%;
    width:100%;
    margin: 0;
    padding: 0;
  }
  #map {
    height: 100%;
    width: 500px;
  }
</style>

【讨论】:

    猜你喜欢
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多