我尝试将谷歌地图显示到其纬度和经度为 +34° 6' 46.53"、+35° 39' 1.04 的位置,然后我构建了此代码
public class conactus extends Activity {
//instance variables for Marker icon drawable resources
private int userIcon;
//the map
private GoogleMap theMap;
//user marker
private Marker userMarker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_connectus);
//get drawable IDs
userIcon = R.drawable.yellow_point;
//find out if we already have it
if(theMap==null){
//get the map
theMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
//check in case map/ Google Play services not available
if(theMap!=null){
//ok - proceed
theMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
//update location
updatePlaces();
}
}
}
private void updatePlaces(){
//get last location
double lat = 34.112924;
double lng = 35.650288;
//create LatLng
LatLng lastLatLng = new LatLng(lat, lng);
//remove any existing marker
if(userMarker!=null) userMarker.remove();
//create and set marker properties
userMarker = theMap.addMarker(new MarkerOptions()
.position(lastLatLng)
.title("You are here")
.icon(BitmapDescriptorFactory.fromResource(userIcon))
.snippet("Your last recorded location"));
//move to location
theMap.animateCamera(CameraUpdateFactory.newLatLng(lastLatLng), 3000, null);
}
}
但是当我在真实设备上运行应用程序并在设备上激活谷歌播放服务后,我得到了未显示的带有 logcat 的地图
09-06 16:13:30.609: I/Google Maps Android API(18952): Failed to contact Google servers. Another attempt will be made when connectivity is established.
09-06 16:13:30.629: E/Google Maps Android API(18952): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).