Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法获取连接工厂客户端错误,我无法查看映射_Java_Android_Google Maps - Fatal编程技术网

Java 无法获取连接工厂客户端错误,我无法查看映射

Java 无法获取连接工厂客户端错误,我无法查看映射,java,android,google-maps,Java,Android,Google Maps,嗨,这里我正试图加载我的位置在地图上,但我只是得到空白画布 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.exmp.way" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkV

嗨,这里我正试图加载我的位置在地图上,但我只是得到空白画布

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.exmp.way"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"  />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"  />
<uses-permission android:name="com.way.fameceramic.permission.MAPS_RECEIVE"  />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <uses-library android:name="com.google.android.maps" />

    <activity
        android:name="com.exmp.way.MapActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity></application> </manifest>

这是mainfest代码

这里是布局文件代码

<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="xxx-xxxxxxxxxxx"/>

出于安全原因,我禁用了密钥

在此映射活动代码

import java.util.List;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.view.Menu;

public class MapViewActivity extends MapActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map_view);

       // Displaying Zooming controls
    MapView mapView = (MapView) findViewById(R.id.mapView);
    mapView.setBuiltInZoomControls(true);

    /**
     * Changing Map Type
     * */
    // mapView.setSatellite(true); // Satellite View
    // mapView.setStreetView(true); // Street View
    mapView.setTraffic(true); // Traffic view

    /**
     * showing location by Latitude and Longitude
     * */        
    MapController mc = mapView.getController();
    double lat = Double.parseDouble("22.270928");
    double lon = Double.parseDouble("70.789909");
    GeoPoint geoPoint = new GeoPoint((int)(lat * 1E6), (int)(lon * 1E6));
    mc.animateTo(geoPoint);
    mc.setZoom(15);
    mapView.invalidate(); 


    /**
     * Placing Marker
     * */
    List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.mark_red);
    AddItemizedOverlay itemizedOverlay = 
         new AddItemizedOverlay(drawable, this);


    OverlayItem overlayitem = new OverlayItem(geoPoint, "Fame Ceramic", "Way web Solution");

    itemizedOverlay.addOverlay(overlayitem);
    mapOverlays.add(itemizedOverlay);

}

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;

    }



}
import java.util.List;
导入com.google.android.maps.GeoPoint;
导入com.google.android.maps.MapActivity;
导入com.google.android.maps.MapController;
导入com.google.android.maps.MapView;
导入com.google.android.maps.Overlay;
导入com.google.android.maps.OverlayItem;
导入android.os.Bundle;
导入android.app.Activity;
导入android.graphics.drawable.drawable;
导入android.view.Menu;
公共类MapViewActivity扩展了MapActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.map\u视图);
//显示缩放控件
MapView MapView=(MapView)findViewById(R.id.MapView);
mapView.SetBuilTinZoomControl(真);
/**
*更改地图类型
* */
//mapView.setSatellite(true);//卫星视图
//mapView.setStreetView(true);//街景
setTraffic(true);//流量视图
/**
*通过纬度和经度显示位置
* */        
MapController mc=mapView.getController();
双lat=double.parseDouble(“22.270928”);
double lon=double.parseDouble(“70.789909”);
地质点地质点=新的地质点((int)(lat*1E6),(int)(lon*1E6));
司仪(地点);;
mc.setZoom(15);
mapView.invalidate();
/**
*放置标记
* */
List mapOverlays=mapView.getOverlays();
Drawable Drawable=this.getResources().getDrawable(R.Drawable.mark_red);
AddItemizedOverlay项IzedOverlay=
新添加物(可拉伸,本);
OverlayItem OverlayItem=新的OverlayItem(地质点、“Fame陶瓷”、“Way web解决方案”);
itemizedOverlay.addOverlay(overlayitem);
添加(itemizedOverlay);
}
@凌驾
受保护的布尔值isRouteDisplayed(){
//TODO自动生成的方法存根
返回false;
}
}
AddItemizeOverlay类源代码

import java.util.ArrayList;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.Toast;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.MapView;
import com.google.android.maps.OverlayItem;

public class AddItemizedOverlay extends ItemizedOverlay<OverlayItem> {


   private ArrayList<OverlayItem> mapOverlays = new ArrayList<OverlayItem>();

   private Context context;

   public AddItemizedOverlay(Drawable defaultMarker) {
        super(boundCenterBottom(defaultMarker));
   }

   public AddItemizedOverlay(Drawable defaultMarker, Context context) {
        this(defaultMarker);
        this.context = context;
   }

   @Override
   protected OverlayItem createItem(int i) {
      return mapOverlays.get(i);
   }

   @Override
   public int size() {
      return mapOverlays.size();
   }

   @Override
   protected boolean onTap(int index) {
      Log.e("Tap", "Tap Performed");
      return true;
   }

   public void addOverlay(OverlayItem overlay) {
      mapOverlays.add(overlay);
       this.populate();
   }

   /**
    * Getting Latitude and Longitude on Touch event
    * **/
   @Override
   public boolean onTouchEvent(MotionEvent event, MapView mapView) 
   {   

       if (event.getAction() == 1) {                
           GeoPoint geopoint = mapView.getProjection().fromPixels(
               (int) event.getX(),
               (int) event.getY());
           // latitude
           double lat = geopoint.getLatitudeE6() / 1E6;
           // longitude
           double lon = geopoint.getLongitudeE6() / 1E6;
           Toast.makeText(context, "Lat: " + lat + ", Lon: "+lon, Toast.LENGTH_SHORT).show();
       }                            
       return false;
   } 

}
import java.util.ArrayList;
导入android.content.Context;
导入android.graphics.drawable.drawable;
导入android.util.Log;
导入android.view.MotionEvent;
导入android.widget.Toast;
导入com.google.android.maps.GeoPoint;
导入com.google.android.maps.ItemizedOverlay;
导入com.google.android.maps.MapView;
导入com.google.android.maps.OverlayItem;
公共类AddItemizeOverlay扩展了ItemizeOverlay{
私有ArrayList mapOverlays=新ArrayList();
私人语境;
公共AddItemizedOverlay(可绘制默认标记){
super(boundCenterBottom(defaultMarker));
}
public AddItemizedOverlay(可绘制的defaultMarker,上下文){
这(默认标记);
this.context=上下文;
}
@凌驾
受保护的OverlayItem createItem(int i){
返回mapOverlays.get(i);
}
@凌驾
公共整数大小(){
返回mapOverlays.size();
}
@凌驾
受保护的布尔onTap(整数索引){
Log.e(“点击”,“点击执行”);
返回true;
}
公共void addOverlay(OverlayItem overlay){
mapOverlays.add(叠加);
这个。填充();
}
/**
*在触摸事件中获取纬度和经度
* **/
@凌驾
公共布尔onTouchEvent(MotionEvent事件,MapView MapView)
{   
如果(event.getAction()==1){
GeoPoint GeoPoint=mapView.getProjection().fromPixels(
(int)event.getX(),
(int)event.getY();
//纬度
双纬度=地质点。getLatitudeE6()/1E6;
//经度
双lon=地质点。getLongitudeE6()/1E6;
Toast.makeText(上下文,“Lat:+Lat+”,Lon:+Lon,Toast.LENGTH_SHORT).show();
}                            
返回false;
} 
}
在这里,我通过了我使用的所有代码。。。。给我答案我错在哪里
我刚得到这个

你需要一个“谷歌程序员帐户”,为了得到它,也许是这样。

你混合了Android地图API v1和v2。删除所有代码并遵循以下操作:


你不想在你的代码中再出现像
MapActivity
GeoPoint
这样的东西了。

当你打开谷歌地图时,你会看到更多信息吗?看起来你的问题是你的设备实际上没有从谷歌下载地图。。按照链接中的步骤进行操作