Об этом написано несколько дней назад. Полезно article.
Он показывает несколько способов «спрятать» ваши секретные ключи и как легко это может быть обратное проектирование. В конце это то, что автор должен был сказать об этом:
Лучший способ защитить тайны - никогда не раскрывать их. Разделение конфиденциальной информации и операций на вашем собственном сервере/услуге всегда должно быть вашим первым выбором. Если вам нужно рассмотреть схему скрытия, вы должны сделать это с осознанием того, что вы можете сделать сложный процесс обратного проектирования (т. Е. Не невозможно), и вы добавите существенное усложнение для разработки, тестирования и обслуживания вашего приложения в делать это.
В основном, если возможно, было бы лучше хранить секретный ключ на стороне сервера.
Чтобы ответить на ваш вопрос о performance: это зависит от как вы его реализуете.
Если вы выполняете вызов сервера каждый раз, когда вам нужно перевести lon/lat, то да, это, вероятно, повлияет на производительность отрицательно. Я думаю, что лучшим решением будет либо вызов сервера, который имеет ваш секретный ключ, и возвращает переведенный lon/lat. Или вы можете позвонить на сервер при запуске приложения и сохранить секретный ключ в памяти. Я понятия не имею, защищено ли второе решение.
Возможный дубликат [Как получить название города из координат широты и долготы в Картах Google?] (Http://stackoverflow.com/questions/2296377/how-to-get-city-name-from-latitude-and -longitude-координаты-в-Google-карты) –