Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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 Android谷歌地图API v2在地图上放置标记_Java_Android_Google Maps - Fatal编程技术网

Java Android谷歌地图API v2在地图上放置标记

Java Android谷歌地图API v2在地图上放置标记,java,android,google-maps,Java,Android,Google Maps,通过从数据库下载位置值,可以在地图上放置标记。但仅在激活后才可见onResume()。下面是放置标记的方法 public void place(){ for (int i = 0; i<user_sex.length; i++){ //someone = new MarkerOptions().position(new LatLng(xx[i], yy[i])).title("Вы здесь!"); if (user_sex[

通过从数据库下载位置值,可以在地图上放置标记。但仅在激活后才可见
onResume()
。下面是放置标记的方法

public void place(){

      for (int i = 0; i<user_sex.length; i++){
            //someone = new MarkerOptions().position(new LatLng(xx[i], yy[i])).title("Вы здесь!");
            if (user_sex[i]==1){

            map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)));
            list.put(new LatLng(xx[i],yy[i]), i);

            }
            if (user_sex[i]==2){
                //m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
                map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
                list.put(new LatLng(xx[i],yy[i]), i);
            }else{
                if(xx[i]!=0 && yy[i]!=0 && (user_sex[i] < 1)){
                    //m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
                map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
                list.put(new LatLng(xx[i],yy[i]), i);
                }
                }
            //map.addMarker(someone);
        }
  }
但是这个决定会给管理卡带来问题——如果你移动相机,它会回到原来的位置,缩放时会回到变焦(16)。有解决办法吗?我的简历如下

以下是完整的课堂活动:

 package com.pavloid21.vk;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.widget.LinearLayout;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.pavloid21.vk.R;
import com.pavloid21.vk.ProfileActivity;
import com.sbstrm.appirater.Appirater;
import com.startad.lib.SADView;

public class MapActivity extends FragmentActivity{

     SharedPreferences spref, mpref;
     Editor editor;
     Thread thrd;
     boolean flag;
     HttpResponse response = null;
     String token_user;
     int sex;
     long usr;
     long ID;
     static double x, y, lastX, lastY;
     static int count = 0;
     SupportMapFragment mapFragment;
     private LocationManager locationManager;
      GoogleMap map;
      Map<LatLng, Integer> list = new HashMap();
      final String TAG = "myLogs";
      private ProgressDialog pDialog;
      long[] vkIDs;
      int[] user_sex;
      double[] xx;
      double[] yy;
      String[] name;
      String[] m;
      MarkerOptions someone;
      String nm;

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

        vkIDs = new long[100];
        user_sex = new int[100];
        xx = new double[100];
        yy = new double[100];
        name = new String[100];



        locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);

        mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
        map = mapFragment.getMap();
        if (map == null) {
          finish();
          return;
        }


      }

      @Override
      protected void onResume(){
          super.onResume();
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                1000 * 10, 10, locationListener);
            locationManager.requestLocationUpdates(
                LocationManager.NETWORK_PROVIDER, 1000 * 10, 10,
                locationListener);
            checkEnabled();
      }

      @Override
      protected void onPause() {
        super.onPause();
        locationManager.removeUpdates(locationListener);
      }

      private LocationListener locationListener = new LocationListener(){
          @Override
            public void onLocationChanged(Location location) {
              showLocation(location);
            }

            @Override
            public void onProviderDisabled(String provider) {
              checkEnabled();
            }

            @Override
            public void onProviderEnabled(String provider) {
              checkEnabled();
              showLocation(locationManager.getLastKnownLocation(provider));



            }
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
              if (provider.equals(LocationManager.GPS_PROVIDER)) {
                  Log.d("loction CHECK","Status: GPS "+ String.valueOf(status));

              } else if (provider.equals(LocationManager.NETWORK_PROVIDER)) {
                  Log.d("loction CHECK","Status: NET "+ String.valueOf(status));
              }
            }
      };

      private void showLocation(Location location) {
            if (location == null)
              return;
            if (location.getProvider().equals(LocationManager.GPS_PROVIDER)) {
                Log.d("loction CHECK","Status: GPS "+ formatLocation(location));

            } else if (location.getProvider().equals(
                LocationManager.NETWORK_PROVIDER)) {
                Log.d("loction CHECK","Status: NET "+ formatLocation(location));
            }

            x = location.getLatitude();
            y = location.getLongitude();


            MarkerOptions marker = new MarkerOptions().position(new LatLng(x, y)).title("Вы здесь!");
            marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));

            Appirater.appLaunched(this);
            map.setOnInfoWindowClickListener(new OnInfoWindowClickListener(){
                @Override
                public void onInfoWindowClick(Marker marker) {

                   if (list.containsKey(marker.getPosition())){
                   int i = list.get(marker.getPosition());

                   Intent intent = new Intent(MapActivity.this,ProfileActivity.class);
                   ProfileActivity.setID(vkIDs[i]);
                   startActivity(intent);

                   }
                }
            });
            if (count < 1) {

              map.addMarker(marker);

              mpref = getSharedPreferences("pref", Context.MODE_PRIVATE);
              flag = mpref.getBoolean("geo", true);

              if(flag == true){
              new Thread(new Runnable() {
                    @Override
                    public void  run(){

                              DefaultHttpClient hc = new DefaultHttpClient();  
                                ResponseHandler<String> res = new BasicResponseHandler();  
                                spref = getSharedPreferences("SETTING", Context.MODE_PRIVATE);

                                if (spref.contains("IDUSER")){
                                usr = spref.getLong("IDUSER", 0);
                                nm = spref.getString("NAME", "");
                                sex = spref.getInt("SEX", 0);
                                //token_user = spref.getString("TOKEN", "");
                                //sex = spref.getInt("SEX", 0);
                                //nm = spref.getString("NAME", "");
                                }
                                HttpGet http;
                                http = new HttpGet("http://hdwallpapers.orisale.ru//set_mylocation.php?vkid="+usr+"&name="+nm+"&sex="+sex+"&x="+ x +"&y="+ y);

                                Log.d("SEX!!!!!!!!!!!!!!!!", ""+sex);
                                try {
                                    String response = hc.execute(http, res);
                                } catch (ClientProtocolException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                } catch (IOException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                            }
                }).start();
              } else {}
              Thread getPeopleThrd = new Thread(new Runnable(){
                    @Override
                    public void run(){
                        JSONParser jsonParser = new JSONParser();
                        JSONObject json = jsonParser.getJSONFromUrl("http://hdwallpapers.orisale.ru//get_around.php?&x="+ x +"&y="+ y);

                        JSONArray array = null;
                      try {
                        array = json.getJSONArray("locations");
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    for (int i = 0; i < array.length(); i++){
                        try {
                            JSONObject around = array.getJSONObject(i);
                            vkIDs[i] = (around.getLong("vkid"));
                            user_sex[i] = (around.getInt("sex"));
                            xx[i] = (around.getDouble("x"));
                            yy[i] = (around.getDouble("y"));
                            name[i] = around.getString("name");
                            //name[i] = frnd_name(vkIDs[i]);
                            //Log.d("",name[i]);
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                    }

                    }
                });
                getPeopleThrd.start(); 
            count += 1;

            };



            CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(x, y)).zoom(16).build();
            map.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

            //frnd_name(usr);
            place();
            this.onResume();
          }

      public void place(){

          for (int i = 0; i<user_sex.length; i++){
                //someone = new MarkerOptions().position(new LatLng(xx[i], yy[i])).title("Вы здесь!");
                if (user_sex[i]==1){

                map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)));
                list.put(new LatLng(xx[i],yy[i]), i);

                }
                if (user_sex[i]==2){
                    //m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
                    map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
                    list.put(new LatLng(xx[i],yy[i]), i);
                }else{
                    if(xx[i]!=0 && yy[i]!=0 && (user_sex[i] < 1)){
                        //m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
                    map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
                    list.put(new LatLng(xx[i],yy[i]), i);
                    }
                    }
                //map.addMarker(someone);
            }
      }



      private String formatLocation(Location location) {
            if (location == null)
              return "";
            return String.format(
                "Coordinates: lat = %1$.4f, lon = %2$.4f, time = %3$tF %3$tT",
                location.getLatitude(), location.getLongitude(), new Date(
                    location.getTime()));



          }

      private void checkEnabled() {
            Log.d(" ...  ", "Enabled: "+ locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER));
            Log.d(" ...  ", "Enabled: "+ locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER));

                      }


      private void frnd_name(final long vkid){
          ID = vkid;
          Thread getName = new Thread(new Runnable(){
                @Override
                public void run(){
                    JSONParser jsonParser = new JSONParser();
                    JSONObject json = jsonParser.getJSONFromUrl("http://api.vk.com/method/users.get?user_id=" + ID);

                    JSONArray array = null;
                  try {
                    array = json.getJSONArray("response");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                  for (int i = 0; i < array.length(); i++){
                    try {
                        JSONObject around = array.getJSONObject(i);
                        String nameFrnd = around.getString("first_name");
                        nameFrnd = nameFrnd + " " + around.getString("last_name");
                        nm = nameFrnd;
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                  }

                }
            });
          getName.start();
          if (getName.getState() == Thread.State.TERMINATED){
              for (int i = 0; i < name.length; i++){
                  name[i] = nm;
              }
          }

      }   

}
package com.pavloid21.vk;
导入java.io.IOException;
导入java.io.UnsupportedEncodingException;
导入java.net.url解码器;
导入java.net.urlcoder;
导入java.util.ArrayList;
导入java.util.Date;
导入java.util.HashMap;
导入java.util.Map;
导入org.apache.http.HttpResponse;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.ResponseHandler;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.impl.client.BasicResponseHandler;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.app.ProgressDialog;
导入android.content.Context;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.content.SharedReferences.Editor;
导入android.location.location;
导入android.location.LocationListener;
导入android.location.LocationManager;
导入android.os.Bundle;
导入android.support.v4.app.FragmentActivity;
导入android.util.Log;
导入android.widget.LinearLayout;
导入com.google.android.gms.maps.CameraUpdateFactory;
导入com.google.android.gms.maps.GoogleMap;
导入com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener;
导入com.google.android.gms.maps.SupportMapFragment;
导入com.google.android.gms.maps.model.BitmapDescriptorFactory;
导入com.google.android.gms.maps.model.CameraPosition;
导入com.google.android.gms.maps.model.LatLng;
导入com.google.android.gms.maps.model.Marker;
导入com.google.android.gms.maps.model.MarkerOptions;
导入com.pavloid21.vk.R;
导入com.pavloid21.vk.ProfileActivity;
导入com.sbstrm.appirator.appirator;
导入com.startad.lib.SADView;
公共类MapActivity扩展了FragmentActivity{
共享引用spref、mpref;
编辑;
螺纹螺纹;
布尔标志;
HttpResponse响应=null;
字符串令牌用户;
智力性别;
长usr;
长ID;
静态双x,y,lastX,lastY;
静态整数计数=0;
SupportMapFragment-mapFragment;
私人场所经理场所经理;
谷歌地图;
映射列表=新的HashMap();
最后一个字符串TAG=“myLogs”;
私人对话;
孩子们的长寿;
int[]用户性别;
双[]xx;
双[]年;
字符串[]名称;
字符串[]m;
标记某人;
字符串nm;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
vkIDs=新长[100];
用户性别=新整数[100];
xx=新双精度[100];
yy=新双精度[100];
名称=新字符串[100];
locationManager=(locationManager)getSystemService(位置服务);
mapFragment=(SupportMapFragment)getSupportFragmentManager()
.findFragmentById(R.id.map);
map=mapFragment.getMap();
if(map==null){
完成();
返回;
}
}
@凌驾
受保护的void onResume(){
super.onResume();
locationManager.RequestLocationUpdate(locationManager.GPS\U提供程序,
1000*10,10,位置监听器);
locationManager.RequestLocationUpdate(
LocationManager.NETWORK_提供程序,1000*10,10,
位置(监听器);
选中已启用();
}
@凌驾
受保护的void onPause(){
super.onPause();
locationManager.RemoveUpdate(locationListener);
}
私有LocationListener LocationListener=新LocationListener(){
@凌驾
已更改位置上的公共无效(位置){
展示地点(地点);
}
@凌驾
公共无效onProviderDisabled(字符串提供程序){
选中已启用();
}
@凌驾
公共无效onProviderEnabled(字符串提供程序){
选中已启用();
showLocation(locationManager.getLastKnownLocation(提供者));
}
@凌驾
public void onStatusChanged(字符串提供程序、int状态、Bundle extra){
if(provider.equals(LocationManager.GPS_provider)){
Log.d(“位置检查”,“状态:GPS”+字符串.valueOf(状态));
}else if(provider.equals(LocationManager.NETWORK_provider)){
Log.d(“位置检查”,“状态:NET”+字符串.valueOf(状态));
}
}
};
私有void showLocation(位置){
if(位置==null)
返回;
if(location.getProvider().equals(LocationManager.GPS_PROVIDER)){
日志d(“位置检查”,“状态:GPS”+格式位置(位置));
}else如果(location.getProvider().equals(
LocationManager.网络(供应商){
Log.d(“位置检查”,“状态:NET”+格式位置(位置));
}
x=location.getLatitude();
y=location.getLongitude();
标记选项标记=新标记选项().位置(新板条(x,y)).标题(“bыззззз!”;
图标(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
appirator.appLaunched(本);
setOnInfoWindowClickListener(新的OnInfoWindowClickListener(){
@凌驾
聚氨基甲酸酯
@Override
  protected void onResume(){
      super.onResume();
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
            1000 * 10, 10, locationListener);
        locationManager.requestLocationUpdates(
            LocationManager.NETWORK_PROVIDER, 1000 * 10, 10,
            locationListener);
        checkEnabled();
  }
 package com.pavloid21.vk;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.widget.LinearLayout;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.pavloid21.vk.R;
import com.pavloid21.vk.ProfileActivity;
import com.sbstrm.appirater.Appirater;
import com.startad.lib.SADView;

public class MapActivity extends FragmentActivity{

     SharedPreferences spref, mpref;
     Editor editor;
     Thread thrd;
     boolean flag;
     HttpResponse response = null;
     String token_user;
     int sex;
     long usr;
     long ID;
     static double x, y, lastX, lastY;
     static int count = 0;
     SupportMapFragment mapFragment;
     private LocationManager locationManager;
      GoogleMap map;
      Map<LatLng, Integer> list = new HashMap();
      final String TAG = "myLogs";
      private ProgressDialog pDialog;
      long[] vkIDs;
      int[] user_sex;
      double[] xx;
      double[] yy;
      String[] name;
      String[] m;
      MarkerOptions someone;
      String nm;

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

        vkIDs = new long[100];
        user_sex = new int[100];
        xx = new double[100];
        yy = new double[100];
        name = new String[100];



        locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);

        mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
        map = mapFragment.getMap();
        if (map == null) {
          finish();
          return;
        }


      }

      @Override
      protected void onResume(){
          super.onResume();
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                1000 * 10, 10, locationListener);
            locationManager.requestLocationUpdates(
                LocationManager.NETWORK_PROVIDER, 1000 * 10, 10,
                locationListener);
            checkEnabled();
      }

      @Override
      protected void onPause() {
        super.onPause();
        locationManager.removeUpdates(locationListener);
      }

      private LocationListener locationListener = new LocationListener(){
          @Override
            public void onLocationChanged(Location location) {
              showLocation(location);
            }

            @Override
            public void onProviderDisabled(String provider) {
              checkEnabled();
            }

            @Override
            public void onProviderEnabled(String provider) {
              checkEnabled();
              showLocation(locationManager.getLastKnownLocation(provider));



            }
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
              if (provider.equals(LocationManager.GPS_PROVIDER)) {
                  Log.d("loction CHECK","Status: GPS "+ String.valueOf(status));

              } else if (provider.equals(LocationManager.NETWORK_PROVIDER)) {
                  Log.d("loction CHECK","Status: NET "+ String.valueOf(status));
              }
            }
      };

      private void showLocation(Location location) {
            if (location == null)
              return;
            if (location.getProvider().equals(LocationManager.GPS_PROVIDER)) {
                Log.d("loction CHECK","Status: GPS "+ formatLocation(location));

            } else if (location.getProvider().equals(
                LocationManager.NETWORK_PROVIDER)) {
                Log.d("loction CHECK","Status: NET "+ formatLocation(location));
            }

            x = location.getLatitude();
            y = location.getLongitude();


            MarkerOptions marker = new MarkerOptions().position(new LatLng(x, y)).title("Вы здесь!");
            marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));

            Appirater.appLaunched(this);
            map.setOnInfoWindowClickListener(new OnInfoWindowClickListener(){
                @Override
                public void onInfoWindowClick(Marker marker) {

                   if (list.containsKey(marker.getPosition())){
                   int i = list.get(marker.getPosition());

                   Intent intent = new Intent(MapActivity.this,ProfileActivity.class);
                   ProfileActivity.setID(vkIDs[i]);
                   startActivity(intent);

                   }
                }
            });
            if (count < 1) {

              map.addMarker(marker);

              mpref = getSharedPreferences("pref", Context.MODE_PRIVATE);
              flag = mpref.getBoolean("geo", true);

              if(flag == true){
              new Thread(new Runnable() {
                    @Override
                    public void  run(){

                              DefaultHttpClient hc = new DefaultHttpClient();  
                                ResponseHandler<String> res = new BasicResponseHandler();  
                                spref = getSharedPreferences("SETTING", Context.MODE_PRIVATE);

                                if (spref.contains("IDUSER")){
                                usr = spref.getLong("IDUSER", 0);
                                nm = spref.getString("NAME", "");
                                sex = spref.getInt("SEX", 0);
                                //token_user = spref.getString("TOKEN", "");
                                //sex = spref.getInt("SEX", 0);
                                //nm = spref.getString("NAME", "");
                                }
                                HttpGet http;
                                http = new HttpGet("http://hdwallpapers.orisale.ru//set_mylocation.php?vkid="+usr+"&name="+nm+"&sex="+sex+"&x="+ x +"&y="+ y);

                                Log.d("SEX!!!!!!!!!!!!!!!!", ""+sex);
                                try {
                                    String response = hc.execute(http, res);
                                } catch (ClientProtocolException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                } catch (IOException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                            }
                }).start();
              } else {}
              Thread getPeopleThrd = new Thread(new Runnable(){
                    @Override
                    public void run(){
                        JSONParser jsonParser = new JSONParser();
                        JSONObject json = jsonParser.getJSONFromUrl("http://hdwallpapers.orisale.ru//get_around.php?&x="+ x +"&y="+ y);

                        JSONArray array = null;
                      try {
                        array = json.getJSONArray("locations");
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    for (int i = 0; i < array.length(); i++){
                        try {
                            JSONObject around = array.getJSONObject(i);
                            vkIDs[i] = (around.getLong("vkid"));
                            user_sex[i] = (around.getInt("sex"));
                            xx[i] = (around.getDouble("x"));
                            yy[i] = (around.getDouble("y"));
                            name[i] = around.getString("name");
                            //name[i] = frnd_name(vkIDs[i]);
                            //Log.d("",name[i]);
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                    }

                    }
                });
                getPeopleThrd.start(); 
            count += 1;

            };



            CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(x, y)).zoom(16).build();
            map.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

            //frnd_name(usr);
            place();
            this.onResume();
          }

      public void place(){

          for (int i = 0; i<user_sex.length; i++){
                //someone = new MarkerOptions().position(new LatLng(xx[i], yy[i])).title("Вы здесь!");
                if (user_sex[i]==1){

                map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)));
                list.put(new LatLng(xx[i],yy[i]), i);

                }
                if (user_sex[i]==2){
                    //m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
                    map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
                    list.put(new LatLng(xx[i],yy[i]), i);
                }else{
                    if(xx[i]!=0 && yy[i]!=0 && (user_sex[i] < 1)){
                        //m[i]=map.addMarker(new MarkerOptions().title("Посмотреть").position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
                    map.addMarker(new MarkerOptions().title(name[i]).position(new LatLng(xx[i],yy[i])).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)));
                    list.put(new LatLng(xx[i],yy[i]), i);
                    }
                    }
                //map.addMarker(someone);
            }
      }



      private String formatLocation(Location location) {
            if (location == null)
              return "";
            return String.format(
                "Coordinates: lat = %1$.4f, lon = %2$.4f, time = %3$tF %3$tT",
                location.getLatitude(), location.getLongitude(), new Date(
                    location.getTime()));



          }

      private void checkEnabled() {
            Log.d(" ...  ", "Enabled: "+ locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER));
            Log.d(" ...  ", "Enabled: "+ locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER));

                      }


      private void frnd_name(final long vkid){
          ID = vkid;
          Thread getName = new Thread(new Runnable(){
                @Override
                public void run(){
                    JSONParser jsonParser = new JSONParser();
                    JSONObject json = jsonParser.getJSONFromUrl("http://api.vk.com/method/users.get?user_id=" + ID);

                    JSONArray array = null;
                  try {
                    array = json.getJSONArray("response");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                  for (int i = 0; i < array.length(); i++){
                    try {
                        JSONObject around = array.getJSONObject(i);
                        String nameFrnd = around.getString("first_name");
                        nameFrnd = nameFrnd + " " + around.getString("last_name");
                        nm = nameFrnd;
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                  }

                }
            });
          getName.start();
          if (getName.getState() == Thread.State.TERMINATED){
              for (int i = 0; i < name.length; i++){
                  name[i] = nm;
              }
          }

      }   

}
    private void showLocation(Location location) {
}
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
            1000 * 10, 10, locationListener);
@Override
    protected void onStart() {
        super.onStart();
        mLocationClient.connect();
        Criteria criteria = new Criteria();
        String provider = locationManager.getBestProvider(criteria, true);
        locationManager.requestLocationUpdates(provider, 0, 0, this);
    }