我使用谷歌地图api开发了一个Android应用程序。我创建并使用了一个api键,但是地图没有按预期显示/可见。灰色标题&缩放按钮显示/可见。
我遵循了Link
我的申请是未签名的申请。
此映射文件位置(包)在com.xont.hema6.controller.sale中可用,但主包是com.xont.hema6.controller。需要为密钥指定哪一个?
我的代码是:
public class RetailerMapActivity extends FragmentActivity{
GoogleMap map;
ArrayList<LatLng> markerPoints;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
markerPoints = new ArrayList<LatLng>();
SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
map = fm.getMap();
}
这是我的xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".sale.RetailerMapActivity" >
<fragment
android:id="@+id/map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
class="com.google.android.gms.maps.SupportMapFragment" />
AndroidMainfest文件权限
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<permission android:name="com.xont.hema6.controller.sale.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<uses-permission android:name="com.xont.hema6.controller.sale.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
内部申请
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIza**CD3c**JoP27sH_EsGTR7ul***w_G3pS7o"/>
请有人建议我的代码有什么问题。
答案 0 :(得分:2)
可能是你的问题是你正在使用
1)Wrong Package name
or
2)Wrong SHA1
or
3)Wrong API V2 key
转到您的清单文件,查看您的包裹名称。
1) Goto command prompt and type this command
keytool -list -v -keystore "C:\Documents and
Settings\<your_user_name>\.android\debug.keystore" -alias androiddebugkey -
storepass android -keypass android
Get your SHA1 key
2) Goto Google API console switch on Google Maps API V2 and create new Android key.
Give your_SHA1key;your_packagename
3)Take API V2 key paste into your manifest file and run
答案 1 :(得分:1)
转到您的清单文件,使用此软件包名称查看您的软件包名称,您必须创建Google Maps API V2密钥并使用
前:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.venky.loadgooglemapsdemo"
android:versionCode="1"
android:versionName="1.0" >
我的包名是“com.venky.loadgooglemapsdemo”
如果您需要教程和演示,请参阅此link