如何在android中确定当前的本地化并向GoogleMapsApi添加标记

罗德里克斯

我无法解决这个问题。我试图用地图创建 Fragment,我已经完成了。当我添加静态 Long, Lat 值时,地图会显示此 oa 地图,但是当我尝试通过在可运行中获取本地化来使其自动化时,应用程序只需打开地图而不显示特定的 LongLand 值。

这该怎么做?

为了长时间和迟到,我正在使用 LocalizationManager,当然,我在清单中添加权限并检查运行时

public class LocalizationFragment extends Fragment implements OnMapReadyCallback {


private GoogleMap map;
MapView mapView;
View mview;
private double latitude, longtitude;
private Handler handler;
private Runnable runnable;


public LocalizationFragment() {
    // Required empty public constructor
}

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    mview = inflater.inflate(R.layout.fragment_localization, container, false);
    handler = new Handler();
    getLocation();
    if (ContextCompat.checkSelfPermission(getContext(), android.Manifest.permission.CAMERA)
            != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 13);
    }
    if (ContextCompat.checkSelfPermission(getContext(), android.Manifest.permission.CAMERA)
            != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 11);
    }
    return mview;
}

@OnClick(R.id.button)
public void buttonStart() {
    getLocation();
}

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mapView = (MapView) mview.findViewById(R.id.mapView);
    if (mapView != null) {
        mapView.onCreate(null);
        mapView.onResume();
        mapView.getMapAsync(this);
    }
}

private void getLocation() {
    LocationManager locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE);

    LocationListener locationListener = new LocationListener() {

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProviderEnabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onProviderDisabled(String provider) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onLocationChanged(Location location) {
            // TODO Auto-generated method stub
            latitude = location.getLatitude();
            longtitude = location.getLongitude();
        }
    };
    if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission
            (getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

}

@Override
public void onMapReady(final GoogleMap googleMap) {
    MapsInitializer.initialize(getContext());
    map = googleMap;
    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    runnable = new Runnable() {
        @Override
        public void run() {
            getLocation();
            googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longtitude)).title("Statue").snippet("Something"));
            CameraPosition liberty = CameraPosition.builder().target(new LatLng(latitude, longtitude)).zoom(15).bearing(0).tilt(45).build();
            googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(liberty));
            handler.postDelayed(this, 5000);
        }
    };
  }
}
超级头脑

您需要从主线程添加标记。将其添加到您的可运行对象中。

 runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                    googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longtitude)).title("Statue").snippet("Something"));
                    }
                });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在XCode 6中添加本地化?

来自分类Dev

如何在Visual Studio中确定当前插入符号位置在注释块中?

来自分类Dev

如何在代码中确定当前的JSF生命周期阶段

来自分类Dev

如何在Google日历侧边栏小工具中确定当前星期

来自分类Dev

如何在zf2中确定当前路线和参数

来自分类Dev

如何在Google日历侧边栏小工具中确定当前星期

来自分类Dev

如何在脚本中确定当前的SELinux上下文

来自分类Dev

如何在运行Apache2的Ubuntu 14.04中确定当前的MaxClients

来自分类Dev

如何在 C++/CLI 中确定当前编译目标?

来自分类Dev

如何在Asp.net MVC中向外部js文件添加本地化?

来自分类Dev

如何确定当前是否正在使用Android应用?

来自分类Dev

如何确定当前用户是否在特定组中?

来自分类Dev

如何在android中通过区域设置设置俄语?安卓应用本地化

来自分类Dev

如何在DataAnnotation中本地化ErrorMessage?

来自分类Dev

如何在XAML中显示本地化的文本

来自分类Dev

如何在Google Recaptcha中设置本地化

来自分类Dev

如何在Django中获取本地化的日名?

来自分类Dev

如何在DataAnnotation中本地化ErrorMessage?

来自分类Dev

如何在MVC中本地化DataAnnotation?

来自分类Dev

如何在 XtraReport 中显示枚举的本地化值?

来自分类Dev

如何在脚本中确定当前是否正在由另一个进程写入文件?

来自分类Dev

如何在脚本中确定当前是否正在由另一个进程写入文件?

来自分类Dev

如何在正则表达式操作中确定当前工作文件的名称?

来自分类Dev

如何在正则表达式操作中确定当前工作文件的名称?

来自分类Dev

如何确定当前使用的网格选项

来自分类Dev

Android中的本地化支持

来自分类Dev

如何确定多语言/本地化层次结构

来自分类Dev

如何使用SwiftDate框架打印当前时区中的日期和时间(本地化)

来自分类Dev

Acumatica:如何获得当前的本地化

Related 相关文章

  1. 1

    如何在XCode 6中添加本地化?

  2. 2

    如何在Visual Studio中确定当前插入符号位置在注释块中?

  3. 3

    如何在代码中确定当前的JSF生命周期阶段

  4. 4

    如何在Google日历侧边栏小工具中确定当前星期

  5. 5

    如何在zf2中确定当前路线和参数

  6. 6

    如何在Google日历侧边栏小工具中确定当前星期

  7. 7

    如何在脚本中确定当前的SELinux上下文

  8. 8

    如何在运行Apache2的Ubuntu 14.04中确定当前的MaxClients

  9. 9

    如何在 C++/CLI 中确定当前编译目标?

  10. 10

    如何在Asp.net MVC中向外部js文件添加本地化?

  11. 11

    如何确定当前是否正在使用Android应用?

  12. 12

    如何确定当前用户是否在特定组中?

  13. 13

    如何在android中通过区域设置设置俄语?安卓应用本地化

  14. 14

    如何在DataAnnotation中本地化ErrorMessage?

  15. 15

    如何在XAML中显示本地化的文本

  16. 16

    如何在Google Recaptcha中设置本地化

  17. 17

    如何在Django中获取本地化的日名?

  18. 18

    如何在DataAnnotation中本地化ErrorMessage?

  19. 19

    如何在MVC中本地化DataAnnotation?

  20. 20

    如何在 XtraReport 中显示枚举的本地化值?

  21. 21

    如何在脚本中确定当前是否正在由另一个进程写入文件?

  22. 22

    如何在脚本中确定当前是否正在由另一个进程写入文件?

  23. 23

    如何在正则表达式操作中确定当前工作文件的名称?

  24. 24

    如何在正则表达式操作中确定当前工作文件的名称?

  25. 25

    如何确定当前使用的网格选项

  26. 26

    Android中的本地化支持

  27. 27

    如何确定多语言/本地化层次结构

  28. 28

    如何使用SwiftDate框架打印当前时区中的日期和时间(本地化)

  29. 29

    Acumatica:如何获得当前的本地化

热门标签

归档