В настоящее время у меня есть четыре канала .json, которые можно переключать, нажимая соответствующую кнопку для замены маркеров на основе вики-инструкций gmaps4rails.
Только то, что хорошо работало со средой тестирования / разработки, и теперь, когда мы заполняем реальные данные на производственном сервере, он не позволяет коду replaceMarker отображать какую-либо информацию. У нас более 50 объявлений, и скоро мы добавим более 1000.
Есть ли на маркерах заглушка, которую можно отобразить? Если так, как мы можем обойти это для gmaps4rails?
<% content_for :scripts do %>
<script type="text/javascript" charset="utf-8">
$(function(){
$("#controller1_markers").click(function(){
$.getJSON('/controller1.json', function(data){
Gmaps.map.replaceMarkers(data);
});
});
И ссылка на канал работала нормально, пока мы не начали добавлять новые местоположения.
Есть идеи?
РЕДАКТИРОВАТЬ 1
Итак, я посмотрел на код и вики немного глубже и подумал, что, возможно, в этом случае я не вызываю обратный вызов должным образом, как:
$.getJSON('/controller1.json', function(data) {
Gmaps.map.replaceMarkers(data);
});
функция может быть более старым кодом для этого типа проблемы с использованием подхода более 3.1 и @json вместо непосредственного указания местоположения '/controller1.json'?
Изменить 2 (дек. 14)
(data) - это строка .json, которая выглядит следующим образом:
[{"description": "<a href='/controller1/example-location-1'>Example Location<br />Cafe</a>", "title": "Example Location", "picture": "/images/controller1.png", "width": "60", "height": "60", "lng": "-94.5857704", "lat": "39.0920075"}, ...}]
.. и так далее для 64 записей, скоро будет 1000 +.
Ответ в браузере показывает, что для каждого клика передается Объект, однако есть ЧЕТЫРЕ кода replaceMarkers для четырех разных моделей, которые называются одинаково. Что еще более странно, никакие функции replaceMarkers не работают в IE, та же проблема, что и описанная выше в Chrome и Firefox, и ВСЕ работает на iPhone и iPad ... Отсюда мое замешательство.