mMap.setOnMapClickListener中存在Null对象错误(此错误); package com.example.mukesh.airpollution; 导入android.graphics.Color; 导入android.os.Bund

mMap.setOnMapClickListener中存在Null对象错误(此错误); package com.example.mukesh.airpollution; 导入android.graphics.Color; 导入android.os.Bund,android,google-maps,android-maps-v2,android-maps,Android,Google Maps,Android Maps V2,Android Maps,mMap.setOnMapClickListener中存在Null对象错误(此错误); package com.example.mukesh.airpollution; 导入android.graphics.Color; 导入android.os.Bundle; 导入android.support.v4.app.FragmentActivity; 导入com.google.android.gms.maps.CameraUpdateFactory; 导入com.google.android.gms

mMap.setOnMapClickListener中存在Null对象错误(此错误);
package com.example.mukesh.airpollution;
导入android.graphics.Color;
导入android.os.Bundle;
导入android.support.v4.app.FragmentActivity;
导入com.google.android.gms.maps.CameraUpdateFactory;
导入com.google.android.gms.maps.GoogleMap;
导入com.google.android.gms.maps.GoogleMap.OnMapClickListener;
导入com.google.android.gms.maps.MapFragment;
导入com.google.android.gms.maps.OnMapReadyCallback;
导入com.google.android.gms.maps.model.CameraPosition;
导入com.google.android.gms.maps.model.LatLng;
导入com.google.android.gms.maps.model.LatLngBounds;
导入com.google.android.gms.maps.model.Polygon;
导入com.google.android.gms.maps.model.polygonooptions;
导入com.google.maps.android.PolyUtil;
导入java.util.List;
导入java.util.ArrayList;
公共类映射活动扩展了FragmentActivity
实现OnMapClickListener、OnMapReadyCallback{
//最终int RQS_GooglePlayServices=1;
私有谷歌地图;
//私人谷歌地图谷歌地图;
布尔标记单击;
多克隆选择;
多边形;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_映射);
//获取SupportMapFragment,并在地图准备好使用时收到通知。
//SupportMapFragment mapFragment=(SupportMapFragment)getSupportFragmentManager()
//.findFragmentById(R.id.map);
//getMapAsync(这个);
MapFragment MapFragment=(MapFragment)getFragmentManager().findFragmentById(R.id.map);
getMapAsync((OnMapReadyCallback)this);
mMap.setOnMapClickListener(此);
//MapFragment MapFragment=(MapFragment)getFragmentManager().findFragmentById(R.id.map);
//getMapAsync(这个);
}
@凌驾
4月1日公开作废(谷歌地图谷歌地图)
{
mMap=谷歌地图;
ArrayList PolyOnlist=新的ArrayList();
多边形=mMap.addPolygon(新多边形选项()
添加(新LatLng(28.555335,76.798553)、新LatLng(28.830117,76.935883)、新LatLng(28.882919,77.080078)、新LatLng(28.868489,77.220154)、新LatLng(28.714438,77.328644)、新LatLng(28.519141,77.3698434)、(新LatLng(28.399615,77.196808))、(新LatLng(28.555335,76.798553))
.strokeColor(颜色.红色)
//.fillColor(颜色.蓝色)
//
);
//ArrayList PolyOnlist=新的ArrayList();
多边形p1=mMap.addPolygon(新多边形选项()
.添加(新LatLng(28.882919,77.080078)、新LatLng(28.752972,77.078705)、新LatLng(28.714438,77.328644)、新LatLng(28.868489,77.220154)、新LatLng(28.882919,77.080078))
.strokeColor(颜色.红色)
.fillColor(Color.BLUE));
//ArrayList PolyOnlist=新的ArrayList();
多边形p2=mMap.addPolygon(新多边形选项()
.添加(新LatLng(28.882919,77.080078)、新LatLng(28.752972,77.078705)、新LatLng(28.830117,76.935883)、新LatLng(28.882919,77.080078))
.strokeColor(颜色.红色)
//.fillColor(颜色.蓝色)
);
多边形p3=mMap.addPolygon(新多边形选项()
.添加(新LatLng(28.555335,76.798553)、新LatLng(28.752972,77.078705)、新LatLng(28.830117,76.935883)、新LatLng(28.555335,76.798553))
.strokeColor(颜色.红色)
//.fillColor(颜色.蓝色)
);
最终LatLng悉尼=新LatLng(28.6139,77.2090);
最终LatLng MOUNTAIN_VIEW=新LatLng(28.6387,77.0941);
最终LatLngBounds.Builder边界;
最终板条s=新板条(28.643353,77.446747);
bounds=新的LatLngBounds.Builder();
包括(新板条(28.643353,77.446747));
包括(新板条(28.509488,76.823273));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(悉尼,10));
mMap.animateCamera(CameraUpdateFactory.zoomIn());
mMap.animateCamera(CameraUpdateFactory.zoomTo(10),2000,空);
CameraPosition CameraPosition=新建CameraPosition.Builder()
.目标(山景)
.zoom(10)
.轴承(90)
.倾斜(30)
.build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
mMap.setOnCameraChangeListener(新GoogleMap.OnCameraChangeListener(){
@凌驾
CameraChange上的公共无效(CameraPosition arg0){
//移动摄像机。
//googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds.build(),
如果(arg0.zoom>=10);
else if(arg0.zoom<9){
CameraPosition cameraPosition1=新建CameraPosition.Builder()
.target(MOUNTAIN_VIEW)//将地图中心设置为MOUNTAIN VIEW
.zoom(12)//设置缩放
.bearing(90)//将相机的方向设置为东
.tilt(30)//将相机的倾斜设置为30度
.build();//从生成器创建CameraPosition
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition1));
}
//移除监听器以防止摄像机移动时位置重置。
package com.example.mukesh.airpollution;




import android.graphics.Color;
import android.os.Bundle;
 import android.support.v4.app.FragmentActivity;

import com.google.android.gms.maps.CameraUpdateFactory;
  import com.google.android.gms.maps.GoogleMap;
  import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
 import com.google.android.gms.maps.MapFragment;
 import com.google.android.gms.maps.OnMapReadyCallback;
 import com.google.android.gms.maps.model.CameraPosition;
 import com.google.android.gms.maps.model.LatLng;
 import com.google.android.gms.maps.model.LatLngBounds;
 import com.google.android.gms.maps.model.Polygon;
 import com.google.android.gms.maps.model.PolygonOptions;
 import com.google.maps.android.PolyUtil;
 import java.util.List;

 import java.util.ArrayList;

 public class MapsActivity extends FragmentActivity
    implements OnMapClickListener, OnMapReadyCallback {

//final int RQS_GooglePlayServices = 1;
private GoogleMap mMap;
//private GoogleMap googleMap;



boolean markerClicked;
PolygonOptions polygonOptions;
Polygon polygon;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    // Obtain the SupportMapFragment and get notified when the map is      ready to be used.
    //  SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
    //        .findFragmentById(R.id.map);
    // mapFragment.getMapAsync(this);



    MapFragment mapFragment = (MapFragment)        getFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync((OnMapReadyCallback) this);

    mMap.setOnMapClickListener(this);
  //  MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
   // mapFragment.getMapAsync(this);
}

@Override
public void onMapReady(GoogleMap googleMap)
{
    mMap = googleMap;
    ArrayList<Polygon> polygonList = new ArrayList<>();
    Polygon polygon = mMap.addPolygon(new PolygonOptions()
                    .add(new LatLng(28.555335, 76.798553), new LatLng(28.830117, 76.935883), new LatLng(28.882919, 77.080078), new LatLng(28.868489, 77.220154), new LatLng(28.714438, 77.328644), new LatLng(28.519141, 77.3698434), (new LatLng(28.399615, 77.196808)), (new LatLng(28.555335, 76.798553)))
                    .strokeColor(Color.RED)

            //    .fillColor(Color.BLUE)
            //
    );



    // ArrayList<Polygon> polygonList = new ArrayList<>();
    Polygon p1 = mMap.addPolygon(new PolygonOptions()
            .add(new LatLng(28.882919, 77.080078), new LatLng(28.752972,  77.078705), new LatLng(28.714438, 77.328644), new LatLng(28.868489, 77.220154),new LatLng(28.882919, 77.080078))

            .strokeColor(Color.RED)

            .fillColor(Color.BLUE));

    // ArrayList<Polygon> polygonList = new ArrayList<>();
    Polygon p2 = mMap.addPolygon(new PolygonOptions()
                    .add(new LatLng(28.882919, 77.080078), new LatLng(28.752972, 77.078705), new LatLng(28.830117, 76.935883), new LatLng(28.882919, 77.080078))

                    .strokeColor(Color.RED)

            //.fillColor(Color.BLUE)
    );
    Polygon p3 = mMap.addPolygon(new PolygonOptions()
                    .add(new LatLng(28.555335, 76.798553), new LatLng(28.752972, 77.078705), new LatLng(28.830117, 76.935883), new LatLng(28.555335, 76.798553))

                    .strokeColor(Color.RED)

            // .fillColor(Color.BLUE)
    );
    final LatLng SYDNEY = new LatLng(28.6139,77.2090);
    final LatLng MOUNTAIN_VIEW = new LatLng(28.6387, 77.0941);

    final LatLngBounds.Builder bounds;
    final LatLng s=new LatLng(28.643353 ,77.446747);
    bounds = new LatLngBounds.Builder();
    bounds.include(new LatLng(28.643353, 77.446747));
    bounds.include(new LatLng(28.509488, 76.823273));




      mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 10));


    mMap.animateCamera(CameraUpdateFactory.zoomIn());


     mMap.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);


      CameraPosition cameraPosition = new CameraPosition.Builder()
              .target(MOUNTAIN_VIEW)      
            .zoom(10)                  
            .bearing(90)                
            .tilt(30)                  
            .build();                  
                                                                                       mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));











    mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {

                                       @Override
                                       public void onCameraChange(CameraPosition arg0) {
                                           // Move camera.
                                           // googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds.build(),
                                           if (arg0.zoom >= 10) ;

                                           else if (arg0.zoom < 9) {
                                               CameraPosition cameraPosition1 = new CameraPosition.Builder()
                                                       .target(MOUNTAIN_VIEW)      // Sets the center of the map to Mountain View
                                                       .zoom(12)                   // Sets the zoom
                                                       .bearing(90)                // Sets the orientation of the camera to east
                                                       .tilt(30)                   // Sets the tilt of the camera to 30 degrees
                                                       .build();                   // Creates a CameraPosition from the builder
                                               mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition1));

                                           }
                                           // Remove listener to prevent position reset on camera move.
                                           //  googleMap.setOnCameraChangeListener(googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds.build(),12)));


                                           //googleMap.(latlngbounds);
                                       }

                                   }

    );

}



@Override
public void onMapClick(LatLng point) {
    Polygon polygon = mMap.addPolygon(new PolygonOptions()
            .add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0)));

    Polygon p1 = mMap.addPolygon(new PolygonOptions()
            .add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0)));

    Polygon p2 = mMap.addPolygon(new PolygonOptions()
            .add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0)));

    Polygon p3 = mMap.addPolygon(new PolygonOptions()
            .add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0)));


    //CHANGE POLYGON SPECIFICATIONS
    //ADD ALL POLYGONS


    List<LatLng> points = polygon.getPoints();
    List<LatLng> points1 = p1.getPoints();
    List<LatLng> points2 = p2.getPoints();
    List<LatLng> points3 = p3.getPoints();


    if (PolyUtil.containsLocation(point, points, false)) {
        //Do SOMETHING...
    } else if (PolyUtil.containsLocation(point, points1, false)) {
        //Do SOMETHING...
    }
    if (PolyUtil.containsLocation(point, points2, false)) {
        //Do SOMETHING...
    }
    if (PolyUtil.containsLocation(point, points3, false)) {
        //Do SOMETHING...
    }


}