Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
在android中点击谷歌地图上的标记显示地址?_Android_Google Maps_Google Maps Api 3 - Fatal编程技术网

在android中点击谷歌地图上的标记显示地址?

在android中点击谷歌地图上的标记显示地址?,android,google-maps,google-maps-api-3,Android,Google Maps,Google Maps Api 3,我已经在我的应用程序中添加了谷歌地图。我正在谷歌地图上显示当前位置。我现在在标记上显示一个红色标记。我想在弹出窗口中显示标记上方的地址,就像我们通常在应用程序中看到的那样。我尝试了一些方法,但没有一种对我有效。在此处共享代码 1.我第一次尝试 @Override public void onLocationChanged(Location location) { mMap.clear(); latitude = location.getLatitud

我已经在我的应用程序中添加了谷歌地图。我正在谷歌地图上显示当前位置。我现在在标记上显示一个红色标记。我想在弹出窗口中显示标记上方的地址,就像我们通常在应用程序中看到的那样。我尝试了一些方法,但没有一种对我有效。在此处共享代码

1.我第一次尝试

  @Override
    public void onLocationChanged(Location location) {

        mMap.clear();
        latitude = location.getLatitude();
        longitude = location.getLongitude();
        MarkerOptions mo=new MarkerOptions();
        LatLng latLng = new LatLng(latitude, longitude);
        marker=mMap.addMarker(mo.position(latLng));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
        mMap.animateCamera(CameraUpdateFactory.zoomTo(15));
        mo.title("Current Location");



    }
2.我第二次尝试

   mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker arg0) {
                String title = "Any Thing You want";
                marker.setTitle(title);

                return true;
            }
        });
请告诉我哪里弄错了。谢谢你可能想检查一下

地理编码是将地址(如加利福尼亚州山景城1600圆形剧场公园路)转换为地理坐标(如纬度37.423021和经度-122.083739)的过程,您可以使用这些坐标在地图上放置标记或定位地图

-术语地理编码通常指将人类可读地址转换为地图上的位置。相反,将地图上的位置转换为人类可读地址的过程称为反向地理编码

试一试

这个需要一个服务器密钥 也检查一下这个

希望这有帮助

您可能需要检查

地理编码是将地址(如加利福尼亚州山景城1600圆形剧场公园路)转换为地理坐标(如纬度37.423021和经度-122.083739)的过程,您可以使用这些坐标在地图上放置标记或定位地图

-术语地理编码通常指将人类可读地址转换为地图上的位置。相反,将地图上的位置转换为人类可读地址的过程称为反向地理编码

试一试

这个需要一个服务器密钥 也检查一下这个

希望这有帮助

使用地理编码器

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            Geocoder geocoder = new Geocoder(this,Locale.getDefault());
            addresses = geocoder.getFromLocation(marker.getPosition().latitude(), marker.getPosition().longitude(), 1); //1 num of possible location returned
            String address = addresses.get(0).getAddressLine(0); //0 to obtain first possible address 
            String city = addresses.get(0).getLocality();
            String state = addresses.get(0).getAdminArea();
            String country = addresses.get(0).getCountryName();
            String postalCode = addresses.get(0).getPostalCode();
            //create your custom title
            String title = address +"-"+city+"-"+state;
            marker.setTitle(title);
            marker.showInfoWindow();
            return true;
        }
    });
使用地理编码器

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            Geocoder geocoder = new Geocoder(this,Locale.getDefault());
            addresses = geocoder.getFromLocation(marker.getPosition().latitude(), marker.getPosition().longitude(), 1); //1 num of possible location returned
            String address = addresses.get(0).getAddressLine(0); //0 to obtain first possible address 
            String city = addresses.get(0).getLocality();
            String state = addresses.get(0).getAdminArea();
            String country = addresses.get(0).getCountryName();
            String postalCode = addresses.get(0).getPostalCode();
            //create your custom title
            String title = address +"-"+city+"-"+state;
            marker.setTitle(title);
            marker.showInfoWindow();
            return true;
        }
    });
这很简单

只需添加一个标题

mMap.addMarker(new MarkerOptions().position(
            new LatLng(12.9969284, 80.25792380000007)).title("A2B Car Parking").icon(
            BitmapDescriptorFactory.fromBitmap(BitmapFactory
                    .decodeResource(getResources(),
                            R.drawable.red_icon))).anchor(0.5f, 1f));
希望这能奏效

非常简单

只需添加一个标题

mMap.addMarker(new MarkerOptions().position(
            new LatLng(12.9969284, 80.25792380000007)).title("A2B Car Parking").icon(
            BitmapDescriptorFactory.fromBitmap(BitmapFactory
                    .decodeResource(getResources(),
                            R.drawable.red_icon))).anchor(0.5f, 1f));

希望这能奏效

你的问题是什么?当你尝试这些方法时会发生什么?你的问题是什么?尝试这些方法时会发生什么?