Tra*_*909 9 android android-location android-geofence
我已经阅读了Geofencing的教程,我有一个问题.
地理围栏是否要求您持续监控用户的位置?
或者,当转换已经确定时,您添加Geofence 的LocationClient会自动触发吗?
这似乎是一个显而易见的问题,但教程从未提及有关从位置管理器请求位置更新的任何内容.
Dak*_*tri -4
public class MainActivity extends FragmentActivity implements
OnMarkerDragListener {
private GoogleMap googleMap;
private int distance;
private SupportMapFragment mapFragment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map));
googleMap = mapFragment.getMap();
googleMap.setOnMarkerDragListener(this);
distance = 100;
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
26.788707, 75.828108), 15));
createGeofence(26.788707, 75.828108, distance, "CIRCLE", "GEOFENCE");
}
private void createGeofence(double latitude, double longitude, int radius,
String geofenceType, String title) {
Marker stopMarker = googleMap.addMarker(new MarkerOptions()
.draggable(true)
.position(new LatLng(latitude, longitude))
.title(title)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.stop_marker)));
googleMap.addCircle(new CircleOptions()
.center(new LatLng(latitude, longitude)).radius(radius)
.fillColor(Color.parseColor("#B2A9F6")));
}
@Override
public void onMarkerDrag(Marker marker) {
}
@Override
public void onMarkerDragEnd(Marker marker) {
LatLng dragPosition = marker.getPosition();
double dragLat = dragPosition.latitude;
double dragLong = dragPosition.longitude;
googleMap.clear();
createGeofence(dragLat, dragLong, distance, "CIRCLE", "GEOFENCE");
Toast.makeText(
MainActivity.this,
"onMarkerDragEnd dragLat :" + dragLat + " dragLong :"
+ dragLong, Toast.LENGTH_SHORT).show();
Log.i("info", "on drag end :" + dragLat + " dragLong :" + dragLong);
}
@Override
public void onMarkerDragStart(Marker marker) {
}
main .xml
< ?xml version="1.0" encoding="utf-8"?>
< RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
< fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
< /RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2514 次 |
| 最近记录: |