小编use*_*437的帖子

Android谷歌地图GeoJson,如何为整个地图着色一种颜色

我目前正在使用Android Google地图实用程序库.我通过API调用接收给定区域的geojson,并且需要在地图上显示该区域.

我打电话来这样做

GeoJsonLayer layer = new GeoJsonLayer(getMap(), geoJsonData);
layer.addLayerToMap()
Run Code Online (Sandbox Code Playgroud)

其中getMap()返回一个GoogleMap对象,geoJsonData是一个JSONObject.此代码在与geojson关联的区域周围绘制边框.

下面的代码在区域周围绘制一个红色边框,并用黄色填充.

GeoJsonLayer layer = new GeoJsonLayer(getMap(), geoJsonData);            
GeoJsonPolygonStyle polygonStyle = layer.getDefaultPolygonStyle();
polygonStyle.setStrokeColor(ContextCompat.getColor(this, R.color.red));
polygonStyle.setFillColor(ContextCompat.getColor(this, R.color.yellow));
layer.addLayerToMap();
Run Code Online (Sandbox Code Playgroud)

我在设置这个GeoJsonLayer的样式时遇到了麻烦,整个地图是黄色的,区域的边框是红色,区域的填充颜色是正常颜色.

有人能告诉我如何使用GeoJson数据在Android中实现这一目标吗?一种选择是创建我自己的多边形形状.我可以使用覆盖整个地图的坐标声明一个多边形,然后使用geojson返回的坐标添加一个洞.

但我认为必须有一些更简单的东西允许我使用内置的GeoJsonLayer类,并且不需要我自己解析geojson.

android google-maps geojson google-maps-android-api-2

10
推荐指数
1
解决办法
878
查看次数

致命异常:无法将字符串强制转换为Spannable

除少数设备外,我的应用程序工作得很好.在一台这样的设备上,我在我的一项活动中获得了致命的异常.错误是java.lang.ClassCastException:java.lang.String无法强制转换为android.text.Spannable ...... 在android.widget.TextView.setEnabled(TextView.java:1432)

堆栈跟踪

05-02 09:18:19.917: E/AndroidRuntime(20587): FATAL EXCEPTION: main
05-02 09:18:19.917: E/AndroidRuntime(20587): java.lang.ClassCastException: java.lang.String cannot be cast to android.text.Spannable
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.widget.TextView.setEnabled(TextView.java:1432)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at com.myapp.android.menu.LoginFragment.checkIfAnyFieldIsEmpty(LoginFragment.java:512)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at com.myapp.android.menu.LoginFragment.onCreateView(LoginFragment.java:183)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.os.Handler.handleCallback(Handler.java:615)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at android.os.Handler.dispatchMessage(Handler.java:92)
05-02 09:18:19.917: E/AndroidRuntime(20587):    at …
Run Code Online (Sandbox Code Playgroud)

crash android classcastexception

9
推荐指数
2
解决办法
5562
查看次数