// 抓取螢幕四個角落座標
- (void)showVisibleRegion
{
NSLog(@"\n%@,%@\n%@,%@\n%@,%@\n%@,%@\n",
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.farLeft.latitude],
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.farLeft.longitude],
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.farRight.latitude],
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.farRight.longitude],
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.nearLeft.latitude],
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.nearLeft.longitude],
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.nearRight.latitude],
[NSNumber numberWithDouble:_mapView.projection.visibleRegion.nearRight.longitude]);
}
#pragma mark - delegate
- (void)mapView:(GMSMapView *)mapView willMove:(BOOL)gesture
{
// ...
}
// This is invoked once the camera position on GMSMapView becomes idle, and specifies the camera positon in question.
// At this point, all animations and gestures have stopped.
- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position
{
if (_isNeedsRemoveMarkers) {
[self removeMarks];
// [self showVisibleRegion];
[self prepareDataFromMemoryWithTimeId:_currentTimeId];
}
else {
_isNeedsRemoveMarkers = YES;
}
}
- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker
{
_isNeedsRemoveMarkers = NO;
[_mapView animateToLocation:marker.position];
_mapView.selectedMarker = marker;
return YES;
}
- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker
{
NSLog(@"clicked title:%@",marker.title); // And now this should work.
_clickItem = marker.userData;
[self performSegueWithIdentifier:@"SegueFromMapToStoreDetail" sender:nil];
}