перенаправлять базовую страницу на страницу входа в систему каждый раз, когда пользователь посещает ваш веб-сайт, затем проверять статус пользователя, вошли в систему или нет, если вошли в систему, перенаправьте на дом, если не останетесь на той же странице. Что касается навигации, пункта меню и т. д., простым способом вы можете создать его в отдельном HTML-документе и включить его на страницу, которую вы хотите показать, кроме страницы входа, в качестве альтернативы вы можете использовать угловой ng-show / hide. у меня есть пример обхода проблемы, основанный на вашем коде выше https://embed.plnkr.co/hs09Tj5p3KNhb8KIqm4i/
http://www.geonames.org/ полезен - запрос HTML, загрузка и веб-сервис.
Также http://developer.yahoo.com/geo/ - Вам будет нужен идентификатор разработчика Yahoo.
Лучшая свободная база данных мировых городов, которые я нашел, от MaxMind. См. http://www.maxmind.com/app/geolitecity, Это также включает информацию о геокодировании и население. Стандарт ISO использования для страны и регионов.
Существует средство поиска названия OpenStreetMap.
Я не знаю, является ли это обязательно самый полный ресурс, но AFAIK OSM свободен для любого использования, которое не может иметь место с другими опциями.
Вы могли загрузить и обработать этот список на Википедию. Если Вы доверяете ему.
Google отображается, API включает сервис геокодирования и существует много других опций