package com.geoo;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;
public class localisation extends ActivityBase{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.localisation);
/* Use the LocationManager class to obtain GPS locations */
LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
String Text = "My current location is: " + "Latitud = " + loc.getLatitude()+ "Longitud = " + loc.getLongitude();
Toast.makeText( getApplicationContext(),Text, Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider)
{
Toast.makeText( getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT ).show();
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
}/* End of Class MyLocationListener */
}/* End of UseGps Activity */
现在我想添加地图和标记
我在main.xml中添加了MapView
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="Your Maps API Key"
/>
中有很多错误
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.MapView.LayoutParams;
我可以解决这些问题吗
我阅读了很多文件,但我不知道如何去做。
谢谢
答案 0 :(得分:3)
要在Google地图上添加标记,您可以使用叠加层。 您可以使用 http://developer.android.com/resources/tutorials/views/hello-mapview.html
最诚挚的问候 阿努普
答案 1 :(得分:3)
对于mapView setContentView(R.layout.localisation);应该以包含mapview的xml资源命名 - &gt;的setContentView(R.layout.main);
对于标记,请参阅开发教程,但在全局步骤中为您提供想法:
1-制作自定义叠加层
2-通过mapview.getOverlays()获取mapOverlay;
3 - 获取自定义重定位的实例
4-将OverlayItems添加到此自定义覆盖
5 - 并将此自定义覆盖添加到mapoverlay
这些是步骤
答案 2 :(得分:2)
首先你需要一个Maps API密钥,所以启动HERE然后你需要实际使用mapview,在你的XML中你需要在setContentView中指定mapview。
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);
要使用位置管理器在地图上放置标记,您可以使用ItemizedOverlay。您还需要在Manifest XML中设置访问权限,以便GPS位置使用。确保访问权限标记位于应用程序标记之外。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
最后,这是一个很好的教程,你应该参考Google Map View
答案 3 :(得分:2)
而不是
public class localisation extends ActivityBase
尝试使用
public class localisation extends MapActivity
这可以帮助您删除这些错误