gps_trial_3;
import android.Manifest;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Build;
import android.provider.Settings;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
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 org.eclipse.paho.android.service.MqttAndroidClient;
import org.eclipse.paho.client.mqttv3.IMqttActionListener;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.IMqttToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
MqttAndroidClient client;
MqttConnectOptions options;
TextView subText;
String topicStr = "Location";
String msg,temp,idx,stat;
String templat,templong,tempidx,tempstat;
float lat,lon,flat,flon;
int naik=9;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
String clientId = MqttClient.generateClientId();
client = new MqttAndroidClient(this.getApplicationContext(), MQTTHOST
,clientId);
Toast.makeText(MapsActivity.this,"Connected!",Toast.LENGTH_LONG).show();
setSub();
}
@Override
public void onFailure(IMqttToken asyncActionToken, Throwable
exception) {
Toast.makeText(MapsActivity.this,"Connection
Failed",Toast.LENGTH_LONG).show();
}
});
}catch (Exception e){
e.printStackTrace();
}
client.setCallback(new MqttCallback() {
@Override
public void connectionLost(Throwable cause) {
@Override
public void messageArrived(String topic, MqttMessage message) throws
Exception {
msg=new String(message.toString());
templat=msg.substring(0,10);
flat = Float.parseFloat(templat);
setLat(flat);
templong=msg.substring(11,23);
flon = Float.parseFloat(templong);
setLon(flon);
/*
//Lokasi Terlarang Mangga 2
float latA = (float)-6.97123;
float lonA = (float)107.6345;
float latB = (float)-6.97126;
float lonB = (float)107.63522;
float latC = (float)-6.97208;
float lonC = (float)107.63444;
float latD = (float)-6.97211;
float lonD = (float)107.6352;
*/
//Lokasi Terlarang
float latA = (float)-6.972450;
float lonA = (float)107.639410;
float latB = (float)-6.972502;
float lonB = (float)107.640109;
float latC = (float)-6.972763;
float lonC = (float)107.639381;
float latD = (float)-6.972812;
float lonD = (float)107.640094;
//Lokasi Terlarang
float latAx = (float)-6.972450;
float lonAx = (float)107.639410;
float latBx = (float)-6.972502;
float lonBx = (float)107.640109;
float latCx = (float)-6.972763;
float lonCx = (float)107.639381;
float latDx = (float)-6.972812;
float lonDx = (float)107.640094;
if(
((flat < latA) && (flon > lonA)) &&
((flat < latB) && (flon < lonB)) &&
((flat > latC) && (flon > lonC)) &&
((flat > latD) && (flon < lonD))){
}
});
builder.show();
}else{
String forb = "Motor Tidak Berada di Area Terlarang";
Toast.makeText(MapsActivity.this, forb,
Toast.LENGTH_LONG).show();
}
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
}
});
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
marker = mMap.addMarker(mo);
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(-6.922055,
107.607076),17.0f));
//mMap.moveCamera(CameraUpdateFactory.newLatLng(new
LatLng(getwLat(),getLon())));
}
@Override
public void onLocationChanged(Location location) {
//myCoordinates = new LatLng(getLat(), getLon());
marker.setPosition(myCoordinates);
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(myCoordinates,17.0f));
//Toast.makeText(MapsActivity.this,Float.toString(getLat()),Toast.LENGTH_LONG).show
();
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
@Override
public void onProviderEnabled(String s) {
@Override
public void onProviderDisabled(String s) {
}
private void requestLocation() {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.POWER_HIGH);
String provider = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(provider, 10000, 10, this);
}
private boolean isLocationEnabled() {
return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) ||
locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
}