2015-09-24 5 views
0

Я делаю карту google с пользовательскими символами в местах, предоставляемых клиентом. Вставка ниже - упрощенная версия. Когда я устанавливаю путь к графическому изображению маркера .png на своем собственном жестком диске и просматриваю карту в своем собственном браузере, все работает нормально: пользовательские маркеры отображаются в правильных местах.Google Map не будет вытаскивать символ маркера из Dropbox

Однако, когда я устанавливаю путь к маркеру .png в Dropbox, маркер не отображается на карте - ни с суффиксом «? Dl = 0», ни с добавлением Dropbox к имени файла. Я также попытался сохранить графику на своем Google Диске и вытащить ее оттуда; Это тоже не сработало.

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
    <title>GoogleMapHawthorne It Works!</title> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script> 
</head> 
<body> 
    <div id="map" style="width: 950px; height: 525px;"></div> 

    <script type="text/javascript"> 

    // locationsSC = locations in Service, Community Asset layer 
    var locationsSC = [ 
     ['Fish Emergency Services', 45.512388, -122.651950], 
     ['Southeast Community Bike Fix-it Station', 45.512360, -122.634061], 
     ['Southeast Kitchen Share', 45.508305, -122.637014], 
     ['Southeast Tool Library', 45.508312, -122.637690], 
     ['Southeast Uplift Neighborhood Coalition', 45.513445, -122.627480] 
    ]; 


    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 14, 
     center: new google.maps.LatLng(45.510000, -122.630930), 
     mapTypeId: google.maps.MapTypeId.ROADMAP,  
    }); 

// adding Service, Community Asset markers 
     var markerSC, sc; 

    for (sc = 0; sc < locationsSC.length; sc++) { 
     markerSC = new google.maps.Marker({ 
     position: new google.maps.LatLng(locationsSC[sc][1], locationsSC[sc][2]), 
     map: map, 
     icon: { 
      url: 'https://www.dropbox.com/s/set461kj7rt1zv5/ServiceBrownCog.png', 
      scaledSize: new google.maps.Size(25, 25) 

     } 
     }); 

     google.maps.event.addListener(markerSC, 'click', (function(markerSC, sc) { 
     return function() { 
      infowindow.setContent(locationsSC[sc][0]); 
      infowindow.open(map, markerSC); 
     } 
     })(markerSC, sc)); 
    } 

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

Является ли проблема в моем коде? Или это Dropbox?

Я только начинаю изучать JavaAcript; Большая часть кода копируется фрагментами (путем ввода) из различных обучающих программ.

У меня нет никаких сомнений по поводу вставки фактического пути к файлу в коде здесь. В любом случае это место будет общедоступным. Если кто-то может подумать о хорошей причине, я не должен этого делать, не стесняйтесь сказать так - и почему.

Прежде всего, спасибо заранее.

ответ

0

https://www.dropbox.com/s/set461kj7rt1zv5/ServiceBrownCog.png не является ссылкой на изображение. Это ссылка на веб-страницу, которая (среди прочего) показывает вам изображение.

Чтобы получить изображение с изображениями, нажмите https://www.dropbox.com/s/set461kj7rt1zv5/ServiceBrownCog.png?raw=1. Для получения дополнительной информации см. https://www.dropbox.com/help/201.

+0

Рабочий ответ в рекордные сроки! Большое спасибо. Кроме того, сегодня я узнал, что вопрос должен быть опубликован в течение десяти минут, прежде чем он может нажать кнопку «Ответ». Я сделаю это как можно скорее. –