San*_*zil 3 android google-maps android-emulator android-studio
我写了一个基本的地图应用程序,一个可以用AndroidStudio轻松实例化的应用程序.片段在另一个自定义布局中加载的唯一区别.
package com.wayl.activities;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.wayl.R;
public class MapsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment mapFragment = (SupportMapFragment) myFragmentManager.findFragmentById(R.id.map);
GoogleMap mMap = mapFragment.getMap();
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-35, 152);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker near Sidney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
[...]
Run Code Online (Sandbox Code Playgroud)
如上所述,该应用程序在AVD中完美运行,但无法使其在真实设备上运行.它只显示一个空的地图占位符,还有彩色的Google徽标.但没有标记,没有网格,没有按钮,没有别的.
为什么我认为它应该工作:
网络,wifi,都可以,在手机和AVD一样
OpenGL版本应该不是问题,我在Galaxy Samsung S3和Galaxy Note 4上运行apk.
我把我的指纹都放在了用keytool检索的调试和发布版本,并与我的密钥库连接,所以关键没关系,你也可以看到参考图像,即使它说这是可选的.我把基础包和包含Maps活动的包放在一起只是为了确定.
Manifest拥有检索粗略和精确位置的所有正确权限(请记住在AVD中一切正常)
我已经成功过去在Android上开发地图.我记得每次经过4或5次试验以及令人沮丧的过程中的错误,我都可以实现它.这次我不知道该怎么做.我正在进行说明,以了解我在哪里犯错误.
我终于找到了解决方案.
在新的AndroidStudio示例中,带有键的文件(google_maps_api.xml)已放置到app\src\debug\res\values文件夹中,另一个放在app\src\release\res\values中!
虽然AndroidStudio显示所有布局,所有值文件等,但只有一个带有键的值文件,所以我没有注意到文件系统中实际上有两个文件,其中一个没有设置密钥!我甚至没有现在可能有不同的文件夹.
我在这方面挣扎了好几天.每当我尝试创建一个简单的地图,某些内容被更改,弹出窗口并让我浪费时间时,就会发生这种情况.当你发现解决方案时,一切看起来都很明显,但与此同时它真的令人沮丧.
谢谢大家的帮助!我真的很感激.
| 归档时间: |
|
| 查看次数: |
2981 次 |
| 最近记录: |