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_Xml Drawable_Overlayitem - Fatal编程技术网

Android 可绘制的圆形在地图上看起来像椭圆形

Android 可绘制的圆形在地图上看起来像椭圆形,android,google-maps,xml-drawable,overlayitem,Android,Google Maps,Xml Drawable,Overlayitem,嗨,我正在尝试在地图上创建圆形。为此,我使用地面覆盖项目。我尝试用可绘制的xml文件绘制圆形。首先,我尝试了正常的活动布局,它向我展示了完美的圆形。和我在地图上画的一样,它看起来像椭圆形。我的可绘制和布局代码如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"

嗨,我正在尝试在地图上创建圆形。为此,我使用地面覆盖项目。我尝试用可绘制的xml文件绘制圆形。首先,我尝试了正常的活动布局,它向我展示了完美的圆形。和我在地图上画的一样,它看起来像椭圆形。我的可绘制和布局代码如下:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

   <solid 
       android:color="#666666"/>

   <size 
       android:width="120dp"
    android:height="120dp"/>
</shape>
LatLng NEWARK = new LatLng(0, 0);
        View markerView = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.custom_marker_layout, null);
        GroundOverlayOptions newarkMap = new GroundOverlayOptions()
                .image(BitmapDescriptorFactory.fromBitmap(createDrawableFromView(this, markerView)))
                .position(NEWARK, 860000f, 650000f);
GroundOverlay imageOverlay = googleMap.addGroundOverlay(newarkMap);
同样的事情,我尝试的活动,显示我的圆圈,但地图显示椭圆形,而不是圆形。如何做到这一点?我需要帮助。谢谢。

您可以直接添加一个,而不是使用
地面覆盖层

Circle circle = googleMap.addCircle(new CircleOptions()
     .center(new LatLng(40.740234,-74.171505))
     .radius(10000)
     .strokeColor(Color.GRAY)
     .fillColor(Color.GRAY));

我不想只加上圆圈。该圆圈还包含一些其他字段,如一些图像和文本。这就是我尝试地面布局的原因。有没有办法在圆圈中添加图像和文本?我在中看到,
.position
应该仅使用位置和宽度参数(无高度)来指定,以保持比例。是的,所以我在代码中使用createBitFromview,它会查看并返回drawable。我正在使用的绘图板作为地面覆盖图的图像。我认为您需要做的不是这样:
.position(NEWARK,860000f,650000f)试试这个:
.position(纽瓦克,860000f)
Circle circle = googleMap.addCircle(new CircleOptions()
     .center(new LatLng(40.740234,-74.171505))
     .radius(10000)
     .strokeColor(Color.GRAY)
     .fillColor(Color.GRAY));