地图没有显示任何内容

时间:2013-12-16 05:50:28

标签: 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));
   }

}

}

修改

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

4 个答案:

答案 0 :(得分:0)

只需将Google Play服务库添加到您的项目中即可。

转到您的项目 - &gt;属性 - &gt; android - &gt;在项目构建目标部分 - &gt;检查谷歌api

答案 1 :(得分:0)

在清单中检查一下:

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

答案 2 :(得分:0)

下载相应的 android-google-maps-api.jar here以避免错误并检查manisfest

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

答案 3 :(得分:0)

我不知道为什么这里的人会试图混淆你并让你使用近一年已被弃用的API,但这里的答案是错误的。

无需添加以下代码行:

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

因为这行代码属于上一个API v1API v2的配置完全不同。 实际上,您提供的代码是API V2的代码,因此您处于正确的轨道上。

请查看这两篇博文,确保您已正确执行了所有步骤:

Google Maps API V2 key

Google Maps API V2

如果这对您没有帮助,请使用您的XML Manifest文件。