Сначала проверьте, что нужно переустанавливать позже:
npm list -g --depth=0
Скажите npm, чтобы установить пакеты для дома:
npm config set prefix ~/npm
Откройте ваш. bashrc (Linux):
nano ~/.bashrc
для Mac
nano ~/.bash_profile
добавьте эти строки в конце:
export PATH="$PATH:$HOME/npm/bin"
export NODE_PATH="$NODE_PATH:$HOME/npm/lib/node_modules"
сохраните файл и затем введите эту команду в чтобы изменения вступили в силу:
. ~/.bashrc
или
. ~/.bash_profile
Возьмите на себя ответственность за все, что находится в вашем каталоге ~ / .npm (должно выполняться с помощью sudo):
sudo chown -R $USER:`id -g -n $USER` ~/.npm
В конце концов, вы можете установить глобально без sudo. Например:
npm install -g live-server
Или создайте приложение реакции с:
npm init react-app <your reactapp>
Следующий фрагмент кода делает его для меня (lat, и СПГ, удваивается объявленный выше этого бита):
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
Похоже, что существует две вещи, происходящие здесь.
1) Вы отсутствовали new
ключевое слово до вызова конструктора.
2) параметр, в котором Вы являетесь передающими конструктору Геокодера, является неправильным. Вы являетесь передающими в Locale
, где это ожидает Context
.
существуют два Geocoder
конструкторы, оба из которых требуют Context
, и одно также взятие Locale
:
Geocoder(Context context, Locale locale)
Geocoder(Context context)
Решение
Изменяет Ваш код, чтобы передать в допустимом Контексте и включать new
, и необходимо быть хорошими для движения.
Geocoder myLocation = new Geocoder(getApplicationContext(), Locale.getDefault());
List<Address> myList = myLocation.getFromLocation(latPoint, lngPoint, 1);
Примечание
, Если у Вас все еще есть проблемы, это может быть проблема управления правами. Геокодирование неявно использует Интернет для выполнения поисков, таким образом, приложение потребует INTERNET
тег разрешения использования в декларации.
Добавляют следующий узел разрешения использования в manifest
узел Вашей декларации.
<uses-permission android:name="android.permission.INTERNET" />
Ну, я все еще озадачен. Таким образом, вот больше кода.
, Прежде чем я оставлю свою карту, я звоню SaveLocation(myMapView,myMapController);
, Это - то, что заканчивает тем, что назвало мою информацию о геокодировании.
, Но с тех пор getFromLocation
может бросить IOException
, я должен был сделать следующее для вызова SaveLocation
try
{
SaveLocation(myMapView,myMapController);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Тогда, я должен изменить SaveLocation путем высказывания, что это бросает IOExceptions:
public void SaveLocation(MapView mv, MapController mc) throws IOException{
//I do this :
Geocoder myLocation = new Geocoder(getApplicationContext(), Locale.getDefault());
List myList = myLocation.getFromLocation(latPoint, lngPoint, 1);
//...
}
И это отказывает каждый раз.
I've heard that Geocoder is on the buggy side. I recently put together an example application that uses Google's http geocoding service to lookup location from lat/long. Feel free to check it out here