2016-04-26 1 views
0

Я пытаюсь построить местоположение метки, как Instagram ...MySQL - магазин координаты, чтобы избежать дубликатов

Я выбираю координаты на основе функции Api Google getBounds() как это:
(примечание: swlat, swlng, nwlat, nwlng = а, б, в, г)

SELECT * FROM table WHERE 
    (a < c AND lat BETWEEN a AND c) OR (c < a AND lat BETWEEN c AND a) 
    AND 
    (b < d AND lng BETWEEN b AND d) OR (d < b AND lng BETWEEN d AND b) 

Перед тем как вставить координаты, проверить, если данные присутствуют в таблице, чтобы избежать дубликатов. Однако проблема Google Api и MapKit возвращают разные координаты при поиске определенного места.

Прямо сейчас Я сохраняю адрес name, чтобы проверить наличие дубликатов. Который мог бы работать, но, возможно, есть лучший способ :)

Так что мои вопросы:

  • как я могу хранить координаты, чтобы избежать как меньше дублей, как это возможно. Может быть, есть идентификатор типа «place_id» (в google API), который может работать в обоих случаях при использовании Google Api или MapKit
  • действительно ли мне нужно сохранить имя местоположения, не использует ли Instagram какой-либо api, чтобы получить подробную информацию о местоположении?

спасибо :)

ответ

0

Решение действительно в том, как вы реализуете свои собственную базу данных - есть только одно место для любого заданного LAT/LNG координаты. Но вы не можете заставить Google или MapKit изменить. поэтому вы всегда будете придерживаться этого несоответствия, и поиск по возможному текстовому значению name = like '% placename%' всегда будет низкой производительностью и не будет гарантированно столь же точным, насколько вы по праву имеете дело. Поэтому я предлагаю вам создать отдельные таблицы местоположений как для Google, так и для MapKit, и пользователь будет фильтровать их из графического интерфейса. Также рекомендуется индексировать столбцы lat и lng для каждого.

+0

Производительность мудрого, название магазина магазина или использование api? проблема в том, что если я использую api, тогда вам нужно хранить городские и общественные места в отдельных строках, потому что вы никогда не знаете, что дает вам api ... Примечание. Я также хочу рассмотреть случаи, когда позволяет сказать, что магазин меняет свое местоположение, а затем лучший способ, по-моему, использовать «имя» для проверки изменений ... спасибо :) – user6227254

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