मुझे मानचित्र के भीतर एक निश्चित सीमा तय करने की आवश्यकता है। मैं गूगल जियोकोडर बुला और व्यूपोर्ट संपत्ति लग रहा है जो की तरह पढ़ने से सीमा मिलती है:दृश्यमान मानचित्र दृश्य में एनई और एसड समन्वय वाली कुछ सीमाओं को कैसे फिट किया जाए?
{
northeast = {
lat = "30.4212235";
lng = "-97.486942";
};
southwest = {
lat = "30.1128403";
lng = "-97.99917959999999";
};
}
मैं तो CLLocationCoordinate2D
NSDictionary *viewport = [[[results objectAtIndex:0] objectForKey:@"geometry"]
objectForKey:@"viewport"];
NSDictionary *NEDictionary = [viewport objectForKey:@"northeast"];
NSDictionary *SWDictionary = [viewport objectForKey:@"southwest"];
CLLocationCoordinate2D SWCoordinate =
CLLocationCoordinate2DMake(
[[SWDictionary objectForKey:@"lat"] floatValue],
[[SWDictionary objectForKey:@"lng"] floatValue]
);
CLLocationCoordinate2D NECoordinate =
CLLocationCoordinate2DMake(
[[NEDictionary objectForKey:@"lat"] floatValue],
[[NEDictionary objectForKey:@"lng"] floatValue]
);
मैं जानता हूँ कि मैं एक MKMapRect (या MKMapRegion उत्पन्न करने के लिए की जरूरत में इन कनवर्ट करते हैं, जो भी आसान हो) इन निर्देशांकों से और फिर [mapView setVisibleRect: newRect एनिमेटेड: YES] (या [mapView setRegion: newRegion एनिमेटेड: हाँ] लेकिन मुझे यकीन नहीं है कि वहां कैसे पहुंचे। मुझे सीमाओं को रूपांतरित करने के लिए एक विधि चाहिए उचित डेटा संरचना, कुछ:
- (MKMapRect) mapRectThatFitsBoundsSW:(CLLocationCoordinate2D)sw
NE:(CLLocationCoordinate2D)ne {
// CGFloat x = ??
// CGFloat y = ??
// CGFloat width = ??
// CGFloat height = ??
MKMapRect mapRectFromBounds = MKMapRectMake(x,y,width,height);
return mapRectFromBounds;
}
कोई विचार?
यह वास्तव में एक सरल चाल है। कम से कम गणित-वाई होने के लिए अधिक उत्साह का हकदार है। – Adam