Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java覆盖Android手机上的默认位置_Java_Android - Fatal编程技术网

使用Java覆盖Android手机上的默认位置

使用Java覆盖Android手机上的默认位置,java,android,Java,Android,我遵循了24小时的教科书,创建了一个安卓应用程序,该应用程序可以启动谷歌地图,并根据硬编码到应用程序中的纬度和经度坐标导航到特定位置。但是,当我启动应用程序并运行代码时,它会打开谷歌地图或谷歌地球,并始终默认为我的当前位置。我如何防止它这样做 我试图让我的应用程序转到特定的纬度和经度,但当它启动谷歌地图或谷歌地球时,它总是默认为我的当前位置。Java代码如下所示: Button mapButton = (Button) findViewById(R.id.button2); mapButton.

我遵循了24小时的教科书,创建了一个安卓应用程序,该应用程序可以启动谷歌地图,并根据硬编码到应用程序中的纬度和经度坐标导航到特定位置。但是,当我启动应用程序并运行代码时,它会打开谷歌地图或谷歌地球,并始终默认为我的当前位置。我如何防止它这样做

我试图让我的应用程序转到特定的纬度和经度,但当它启动谷歌地图或谷歌地球时,它总是默认为我的当前位置。Java代码如下所示:

Button mapButton = (Button) findViewById(R.id.button2);
mapButton.setOnClickListener(new View.OnClickListener() {
   @override
   public void onClick(View view) {
     String geoURI = "geo:37.422,-122.0847z=23";
     Uri geo = Uri.parse(geoURI);
     Intent mapIntent = new Intent(Intent.ACTION_VIEW, geo);
     if (mapIntent.resolveActivity(getPackageManager()) != null) {
       startActivity(mapIntent);
如何使其覆盖默认位置并转到上面硬编码的坐标?

,行:

String geoURI = "geo:37.422,-122.0847z=23";
似乎语法无效,但可能需要缩放。尝试:

String geoURI = "geo:37.422,-122.0847?z=23";
但是,缩放级别仅上升到21,因此也请尝试:

String geoURI = "geo:37.422,-122.0847?z=21";
如果两者都不起作用,请使用不带任何缩放的基本字符串:

String geoURI = "geo:37.422,-122.0847";
试试这个:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?q=<lat>,<long>(Label+Name)"));
startActivity(intent);
Intent-Intent=newintent(Intent.ACTION_视图,Uri.parse(“geo:,?q=,(Label+Name)”);
星触觉(意向);

如果你不想要标签,你可以省略(标签+名称),它会根据最近的街道或其他它认为相关的东西随机选择一个。

你可以创建LatLng对象并告诉谷歌地图加载位置。执行此操作的代码如下所示:

double lat=26.52719;
double lng=88.72448;
LatLng myLocation = new LatLng(lat,lng);
                if(this.googleMap !=null){
                    this.googleMap.addMarker(new MarkerOptions().position(myLocation).title("Your current Location").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
                    this.googleMap.moveCamera(CameraUpdateFactory.newLatLng(myLocation));
                }
请记住,您应该在onMapReady回调中应用此功能,并关闭您在谷歌地图中的当前位置

this.googleMap.setMyLocationEnabled(true);

非常感谢。是的,这是一个语法错误。添加“?”并将缩放级别更改为z=21修复了该问题