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));
}
}
这是我在地图上写入标记的代码,但是当我按下按钮时,它会进入谷歌地图并保持空白。有人能告诉我这里有什么问题吗?
答案 0 :(得分:0)
请确保您使用正确的API密钥来生成通过Google云端控制台生成的地图,如果仍然无效,那么您必须
答案 1 :(得分:0)
如果我是你在这种情况下,我会:
重新创建API密钥,您可以按照此博文发布,确保完整完成所有步骤:Google Maps API V2 Key
在安装带有新密钥的版本之前,不要忘记从设备中完全删除您的应用程序,因为Google Maps API V2密钥会在您删除应用程序之前进行缓存。
如果这对您没有帮助,那么尝试删除debug.keystore
文件夹,在eclipse中编译任何项目以重新创建它并重新运行此过程。