地图在点击时不显示任何内容(只是空白)

时间:2013-12-16 07:32:54

标签: java android google-maps maps

 import java.util.ArrayList;
 import java.util.List;
 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 android.app.Activity;
 import android.content.Intent;
 import android.database.Cursor;
 import android.graphics.drawable.Drawable;
 import android.location.Location;
 import android.location.LocationListener;
 import android.os.Bundle;
 import android.support.v4.app.FragmentActivity;
 import android.widget.Toast;

 public class Map extends FragmentActivity {

 Cursor c;
MyDataBase mdb;
ArrayList<String> stop;




 GoogleMap gmaps;

 public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
mdb=new MyDataBase(this);
mdb.open();
double[] latitude=new double[97];
double[] longitude=new double[97];
stop=new ArrayList<String>();
Intent intent=getIntent();
stop=intent.getStringArrayListExtra("stopslist");
for(int i=0;i<stop.size();i++)
{
c=mdb.getStops(stop.get(i));
while(c.moveToNext())
{
    latitude[i]=c.getDouble(2);
    longitude[i]=c.getDouble(3);
    //Toast.makeText(getApplicationContext(),latitude[i]+"  "+longitude[i], 1).show();  

}
}

SupportMapFragment map = (SupportMapFragment) getSupportFragmentManager()
        .findFragmentById(R.id.map);
gmaps=map.getMap();
gmaps.setMyLocationEnabled(true);
LatLng ll=new LatLng(latitude[0], longitude[0]);
 gmaps.moveCamera(CameraUpdateFactory.newLatLng(ll));
 gmaps.animateCamera(CameraUpdateFactory.zoomTo(12));

for(int i=0;i<stop.size();i++)
{ 
   ll=new LatLng(latitude[i],longitude[i]);
   gmaps.addMarker(new MarkerOptions()
   .title(stop.get(i))
   .snippet(stop.get(i)+" "+"Metro Station")
   .position(ll));
 }

 }

这是我在地图上写入标记的代码,但是当我按下按钮时,它会进入谷歌地图并保持空白。有人能告诉我这里有什么问题吗?

2 个答案:

答案 0 :(得分:0)

请确保您使用正确的API密钥来生成通过Google云端控制台生成的地图,如果仍然无效,那么您必须

  1. 使用密钥库签署您的应用
  2. 使用密钥库获取SHA1指纹(不使用debug.keystore)
  3. 获取该密钥库的API密钥。
  4. 在代码中替换此键。
  5. 再次签名并运行apk。

答案 1 :(得分:0)

如果我是你在这种情况下,我会:

  1. 重新创建API密钥,您可以按照此博文发布,确保完整完成所有步骤:Google Maps API V2 Key

  2. 在安装带有新密钥的版本之前,不要忘记从设备中完全删除您的应用程序,因为Google Maps API V2密钥会在您删除应用程序之前进行缓存。

  3. 如果这对您没有帮助,那么尝试删除debug.keystore文件夹,在eclipse中编译任何项目以重新创建它并重新运行此过程。