Google Maps Android v2在没有openGL ES2的设备上

时间:2014-03-08 01:16:37

标签: android google-maps opengl-es

我正在尝试使用地图制作一个简单的应用...我已按照this示例操作并设法执行该应用。还需要将其添加到最清晰的地方:

<meta-data 
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" /> 

问题是我的摩托罗拉CilqXT上有一个空白屏幕,但在Galaxy Fame上运行良好。

我猜测问题可能是我的CliqXT不支持openGL 2.

所以我的问题是如何只使用我的设备的地图来开发和应用?

其他应用程序如EasyTaxi,Netmonitor等等,在我的手机上工作正常,所以我想我必须要做的事情。

修改

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.locationgooglemapv2demo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="7"
    android:maxSdkVersion="17"/>


<permission
    android:name="com.example.locationgooglemapv2demo.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>

<uses-permission android:name="com.example.locationgooglemapv2demo.permission.MAPS_RECEIVE"/>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- The following two permissions are not required to use
     Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<!-- Requerir openGL ES 2.0 si el cel no lo tiene no la ven en el market -->
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
        android:name="com.example.locationgooglemapv2demo.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <uses-library android:name="com.google.android.maps"/>

    <!-- ESTO ES NECESARIO PORQUE UTILIZA GOOGLE PLAY SERVICES -->
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />


    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="my_API_key"/>

</application>

CODE

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;

public class MainActivity extends FragmentActivity {
private SupportMapFragment mapFragment;
private GoogleMap googleMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
    googleMap = mapFragment.getMap();
    googleMap.setMyLocationEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
}

再次感谢


修改

可悲的是,我必须说我认为在没有支持openGL ES2.0的设备上运行谷歌地图android api v2是不可能的。可悲的是,我的Cliq XT不支持它。

谢谢大家的帮助!! 最诚挚的问候!

1 个答案:

答案 0 :(得分:0)

您是否已在清单中添加此内容:

<uses-feature android:glEsVersion="0x00020000" 
 android:required="true"/>