Сохранить локатор с помощью Google Maps API и без базы данных? - PullRequest
0 голосов
/ 23 марта 2012

Есть ли примеры использования Локаторов Магазинов, использующих Google API v3 без использования базы данных? Все учебники, которые я могу найти через Google, относятся к v2 (который, по словам Google, устарел), php (мы используем python) и mySQL (мы используем SQLite).

Раньше я никогда не делал локатор магазина, но я предполагал, что Google настроил бы его так, чтобы вы могли перечислять адреса, а Google выплевывал фрагмент для вставки на свой сайт. Слишком наивный, я знаю.

Хорошо, у меня есть работающая карта, но я не могу понять, как добавлять местоположения, отображать их или разрешать пользователям вводить почтовый индекс и находить близлежащие местоположения. В настоящее время у нас есть только три местоположения, поэтому я надеялся найти решение, которое отказывается от части базы данных и позволяет мне указывать эти значения широты / долготы непосредственно в Google js. Я не против загрузить все три местоположения при загрузке страницы.

Так что, если вы знаете способ указать местоположения непосредственно во фрагменте Google v3, сообщите. Если вы знаете, как отобразить боковую панель с этими сведениями о магазине и местом для ввода почтового индекса, пожалуйста, поделитесь им, и я буду очень признателен.

Спасибо.

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Посмотрите на Fusion Tables.Это идеальный способ сделать именно то, что вы хотите.

http://www.google.com/fusiontables/Home/

0 голосов
/ 23 марта 2012

Что-то вроде следующего должно работать в v3, чтобы центрировать карту на широте пользователя / lng и рисовать маркер в позиции магазина:

                  var node_marker_image = new google.maps.MarkerImage('PATH_TO_YOUR_CUSTOM_MARKER_IMAGE',
                            new google.maps.Size(15, 26),
                            new google.maps.Point(0, 0),
                            new google.maps.Point(8, 26)
                  ); // adjust point parameters as needed

                  var shadow = new google.maps.MarkerImage('PATH_TO_YOUR_CUSTOM_MARKER_SHADOW',
                            new google.maps.Size(22, 26),
                            new google.maps.Point(0, 0),
                            new google.maps.Point(2, 26)
                  ); // adjust as needed

                  var user_position = new google.maps.LatLng(USERLAT, USERLNG);
                  var myOptions = {
                        zoom: 8,
                        center: user_position,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                  };

                  var map = new google.maps.Map(document.getElementById('mapCanvas'), myOptions);

                  var store_marker = new google.maps.Marker({
                                    position: new google.maps.LatLng(YOURLAT, YOURLNG),
                                    map: map,
                                    icon: node_marker_image, 
                                    shadow: shadow
                  });

Если вы не хотите использовать DB,Вы можете использовать строку JSON для представления местоположений вашего магазина и проанализировать их в каком-либо объекте местоположения.Что касается функции «ближайшего» магазина - вам решать, как вы хотите соотносить почтовые индексы.Почтовые индексы могут быть довольно сложными и часто не соответствуют тому, что вы считаете разумными географическими границами.Данные переписи населения США могут быть хорошим источником информации о почтовых индексах.Похоже, ваши требования довольно просты, так что вы можете просто назначить центральное географическое положение для каждого почтового индекса, о котором вам может понадобиться беспокоиться в таблице поиска (или, опять же, в строке JSON).Затем вы можете использовать метод google.maps.geometry.spherical.computeDistanceBetween(), чтобы вычислить расстояние между центром интересующего почтового индекса и местоположением вашего магазина.

0 голосов
/ 23 марта 2012

Я построил около 15-20 из них ... но есть много вопросов к вашему вопросу. Вам нужно разбить задачи.

Вкратце: проверьте источник этого: https://google -developers.appspot.com / карты / документы / JavaScript / примеры / InfoWindow-простой

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...