Узнать позицию по GPS - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 08.05.2013, 14:18   #1
Супергерой

Автор темы (Топик Стартер) Узнать позицию по GPS

Как переделать код, чтобы он брал всегда новые позиции при открытии приложения?
Он просто сейчас определяет твои координаты,
но грузит их из последних,
а мне надо постояно новые при запуске приложения или кнопочке обновит. Приложения на андроиде

Код:
package com.example.coomap;

import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener, LocationListener{
Button btn_get;
EditText et1,et2;
TextView tx1,tx2;

String x,y;
public static final String MYLOG = "My logs";
private LocationManager locMan;
private String provider;

public static double latitude; //широта
public static double longitude; //долгота
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tx1 = (TextView) findViewById(R.id.textView1);
tx2 = (TextView) findViewById(R.id.textView2);


btn_get = (Button) findViewById(R.id.button2);
btn_get.setOnClickListener(this);



locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locMan.getBestProvider(criteria, false);
Location location = locMan.getLastKnownLocation(provider);

if (location!=null){
onLocationChanged(location);
}
else 
{
Toast.makeText(getApplicationContext(), "Location unavailable", Toast.LENGTH_LONG).show();
}


//Toast.makeText(getApplicationContext(),
//"LOCATION = "+location+"\nPROVIDER = "+provider,
//Toast.LENGTH_LONG).show();
}
public void onClick(View v) {

//Intent intent;
x = tx1.getText().toString();
y = tx2.getText().toString();

switch(v.getId()){

case R.id.button2:
tx1.setText(latitude+"");
tx2.setText(longitude+""); 
Toast.makeText(getApplicationContext(), "Клик", Toast.LENGTH_LONG).show();
break;
}

}
public void onLocationChanged(Location loc) {
latitude = loc.getLatitude();
longitude = loc.getLongitude(); 
}
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS is disabled", Toast.LENGTH_LONG).show();// не работает
}
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS works", Toast.LENGTH_LONG).show(); // работает
}
public void onStatusChanged(String provider, int status, Bundle extras) {

}


@Override
protected void onPause() {
super.onPause();
locMan.removeUpdates(this);
}

@Override
protected void onResume() {
super.onResume();
locMan.requestLocationUpdates(provider, 100, 1, this);
}

}
lonk вне форума Ответить с цитированием
Непрочитано 08.05.2013, 16:17   #2
Аватар для ALF.
Герой

По умолчанию Re: Узнать позицию по GPS

Цитата:
Сообщение от lonk Посмотреть сообщение
Как переделать код, чтобы он брал всегда новые позиции при открытии приложения?
Он просто сейчас определяет твои координаты,
но грузит их из последних,
а мне надо постояно новые при запуске приложения или кнопочке обновит. Приложения на андроиде

Код:
package com.example.coomap;

import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener, LocationListener{
Button btn_get;
EditText et1,et2;
TextView tx1,tx2;

String x,y;
public static final String MYLOG = "My logs";
private LocationManager locMan;
private String provider;

public static double latitude; //широта
public static double longitude; //долгота
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tx1 = (TextView) findViewById(R.id.textView1);
tx2 = (TextView) findViewById(R.id.textView2);


btn_get = (Button) findViewById(R.id.button2);
btn_get.setOnClickListener(this);



locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locMan.getBestProvider(criteria, false);
Location location = locMan.getLastKnownLocation(provider);

if (location!=null){
onLocationChanged(location);
}
else 
{
Toast.makeText(getApplicationContext(), "Location unavailable", Toast.LENGTH_LONG).show();
}


//Toast.makeText(getApplicationContext(),
//"LOCATION = "+location+"\nPROVIDER = "+provider,
//Toast.LENGTH_LONG).show();
}
public void onClick(View v) {

//Intent intent;
x = tx1.getText().toString();
y = tx2.getText().toString();

switch(v.getId()){

case R.id.button2:
tx1.setText(latitude+"");
tx2.setText(longitude+""); 
Toast.makeText(getApplicationContext(), "Клик", Toast.LENGTH_LONG).show();
break;
}

}
public void onLocationChanged(Location loc) {
latitude = loc.getLatitude();
longitude = loc.getLongitude(); 
}
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS is disabled", Toast.LENGTH_LONG).show();// не работает
}
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS works", Toast.LENGTH_LONG).show(); // работает
}
public void onStatusChanged(String provider, int status, Bundle extras) {

}


@Override
protected void onPause() {
super.onPause();
locMan.removeUpdates(this);
}

@Override
protected void onResume() {
super.onResume();
locMan.requestLocationUpdates(provider, 100, 1, this);
}

}
Место
PHP код:
Location location locMan.getLastKnownLocation(provider); 
заюзай это

http://developer.android.com/referen...d.os.Looper%29

В твоем случаи это будет так:
PHP код:
locMan.requestSingleUpdate(providerthisnull); 
ALF. вне форума Отправить сообщение для ALF. с помощью ICQ Отправить сообщение для ALF. с помощью Skype™ Ответить с цитированием
Непрочитано 08.05.2013, 16:20   #3
Аватар для Array
Супергерой

По умолчанию Re: Узнать позицию по GPS

http://stackoverflow.com/questions/1...i-old-location
Array вне форума Ответить с цитированием
Непрочитано 08.05.2013, 16:20   #4
Аватар для ALF.
Герой

По умолчанию Re: Узнать позицию по GPS

Обрати внимание, что requestSingleUpdate можно юзать только при API Level >= 9

Добавлено через 2 минуты
p.s.

PHP код:
if (location!=null){
onLocationChanged(location);
}
else 
{
Toast.makeText(getApplicationContext(), "Location unavailable"Toast.LENGTH_LONG).show();

Можешь вообще удалить, если будет юзать locMan.requestSingleUpdate(provider, this, null);

Последний раз редактировалось ALF.; 08.05.2013 в 16:23. Причина: Добавлено сообщение
ALF. вне форума Отправить сообщение для ALF. с помощью ICQ Отправить сообщение для ALF. с помощью Skype™ Ответить с цитированием
Непрочитано 09.05.2013, 11:06   #5
Супергерой

Автор темы (Топик Стартер) Re: Узнать позицию по GPS

Всем спасибо за помощь.
lonk вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itamename-e.dat UFODriverr Lineage II 5 28.02.2021 18:17
как узнать iraide list магазина ! aspalt Серверная часть 2 25.12.2010 14:05
Как узнать координаты в режиме разработчика в кленте krisadr Игровой клиент 1 04.12.2010 16:45
Как узнать Forward Lineage II 1 14.03.2010 14:24
L2Dream rev1015 как для этой сборки узнать id GiDD Lineage II 3 23.07.2009 11:37


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 02:15. Часовой пояс GMT +3.

Вверх