首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android地图上显示当前位置标记?

如何在android地图上显示当前位置标记?
EN

Stack Overflow用户
提问于 2014-03-18 13:29:55
回答 8查看 47.6K关注 0票数 6

我正在开发一个应用程序,其中我想要显示当前位置使用我的地图中的标记。我正在使用谷歌地图v2。当GPS关闭时,我可以在这里显示地图和标记,但当GPS打开时,地图上的任何标记都不可见。我的要求是在地图上显示当前位置的标记

我试过这样做,

代码语言:javascript
复制
@Override
public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub

    //locationManger.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,        
               this);

    ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) 
            getIntent().getSerializableExtra("arrayList");


    if(location!=null){
        double latitude = location.getLatitude();
        double langitude = location.getLongitude();


        myPosition = new LatLng(latitude, langitude);
        CameraPosition position= new  CameraPosition.Builder().
              target(myPosition).zoom(17).bearing(19).tilt(30).build();
        //_googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(position));

        _googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(position)); 
        _googleMap.addMarker(new   
                  MarkerOptions().position(myPosition).title("start"));
    }
EN

回答 8

Stack Overflow用户

发布于 2014-03-18 13:36:26

使用下面的代码,它对我有效:

代码语言:javascript
复制
 @Override
 public void onLocationChanged(Location location) {

   map.clear();

   MarkerOptions mp = new MarkerOptions();

   mp.position(new LatLng(location.getLatitude(), location.getLongitude()));

   mp.title("my position");

   map.addMarker(mp);

   map.animateCamera(CameraUpdateFactory.newLatLngZoom(
    new LatLng(location.getLatitude(), location.getLongitude()), 16));

  }
票数 8
EN

Stack Overflow用户

发布于 2014-03-18 13:56:14

试试这个:-

代码语言:javascript
复制
private void initMap() {
    if (googleMap != null) {
        googleMap = ((MapFragment) getFragmentManager().findFragmentById(
                R.id.map)).getMap();
                // to set current location
        googleMap.setMyLocationEnabled(true);
        Marker pos_Marker =  googleMap.addMarker(new MarkerOptions().position(starting).icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_laumcher)).title("Starting Location").draggable(false));

        pos_Marker.showInfoWindow();
        googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(START_locationpoint, 10));
        googleMap.animateCamera(CameraUpdateFactory.zoomTo(15),2000, null);  

        // check if map is created successfully or not
        if (googleMap == null) {
            Toast.makeText(getApplicationContext(),
                    "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                    .show();
        }
    }
票数 3
EN

Stack Overflow用户

发布于 2014-03-18 14:34:55

试试这个,它显示的是当前位置:

代码语言:javascript
复制
private void initilizeMap() {
    if (googleMap == null) {
        googleMap = ((MapFragment) getFragmentManager().findFragmentById(
                R.id.map)).getMap();
                // to set current location
        googleMap.setMyLocationEnabled(true);

        // check if map is created successfully or not
        if (googleMap == null) {
            Toast.makeText(getApplicationContext(),
                    "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                    .show();
        }
    }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22471100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档