2015-04-01 4 views
0

Я пытаюсь объединить эти три вещи в один.Как добавить булавки в google maps geocode api

Я хочу, чтобы добавить контакты как я сделал в скрипке 1 два кода, который у меня есть в скрипке 2. Однако мне нужно использовать данные другого источника данных. То, как я это делал в скрипке 1, было с широтой и долготой. Но поскольку я не могу этого сделать с новым источником данных, мне нужно найти новый способ. Вот почему я пытаюсь добавить его, чтобы поиграть. Будет ли это работать? Если да, то как я могу это сделать? Если это не будет работать, что бы вы предложили использовать Google Maps api?

$.getJSON(URL, function(data, textstatus) { 

      $.each(data, function(i, entry) { 

       var contentString = '<div id="content">'+ 
        '<div id="siteNotice">'+ 
        '</div>'+ 
        '<h1 id="firstHeading" class="firstHeading">' + entry.name_ + " Library" + '</h1>'+ '<hr>' + 
        '<div id="bodyContent">'+ 
        '<p>' + entry.address + " " + entry.zip + '.<br>' + 
        '<p>' + '<a href="'+entry.website.url+'">' + entry.website.url + '</a>' + '</p>'+ 
        '<p>' + entry.hours_of_operation + '</p>'+ 
        '</div>'+ 
        '</div>'; 


       var infowindow = new google.maps.InfoWindow({ 
        content: contentString 
       }); 


       var marker = new google.maps.Marker({ 
        position: new google.maps.LatLng(entry.location.latitude, 
                entry.location.longitude), 
        map: map, 
        title: entry["dba_name"] + "\n" + entry["address"] 
       }); 

       google.maps.event.addListener(marker, 'click', function() { 
       infowindow.open(map,marker); 
       }); 

      }); 
    }); 
+0

Геокодер будет работать только на ~ 10-20 пунктов, прежде чем нажать на ограничение по запросу. Для 212 адресов это будет слишком медленно. – geocodezip

ответ

1

Поскольку у вас есть 2 функции обратного вызова, правильный способ сделать это первым закончить работу для первого обратного вызова, в этом случае, загрузка JSON и анализировать их, и я бы хранить все entry в entries только так что мы можем использовать данные, когда добавляем маркеры, которые вызывается в конце первого обратного вызова.

о пределе доступа к API, к сожалению, я думаю, вам нужно использовать платный API геокодирования карт Google или другие службы, такие как openStreetmaps.

У меня также есть установка jsfiddle, надеюсь, что эта помощь.

Смежные вопросы