我的问题是这个问题的副本:将地址地理编码为坐标
,唯一的区别是我需要在 Monotouch (C#) 中而不是 Objective-C 中进行。
到目前为止,我已经尝试过,但没有成功:
string sw = searchWhere.Text;
CLGeocoder clg = new CLGeocoder();
clg.GeocodeAddress(sw, HandleCLGeocodeCompletionHandler);
编辑: CompletionHandler 被调用,但我不知道如何让新的地图应用程序显示。(我对 iOS 开发人员非常陌生。)
MKMapView MapIt = new MKMapView();
void HandleCLGeocodeCompletionHandler (CLPlacemark[] placemarks, NSError error)
{
List<ObjAnnotation> oal = new List<ObjAnnotation>();
if ( oal.Count > 0 )
{
MapIt.RemoveAnnotations(oal.ToArray());
}
oal.Clear();
for(int i = 0; i < placemarks.Length; i++)
{
var loc = placemarks[i].Location.Coordinate;
oal.Add(new ObjAnnotation(new CLLocationCoordinate2D(loc.Latitude, loc.Longitude),
placemarks[i].Name, string.Empty));
}
MapIt.AddAnnotationObjects(oal.ToArray());
CustomerDetailTab cdt = CustomerDetailTab;
UIView view = cdt.View;
MapIt.AddSubview (view);
}
这条线CustomerDetailTab cdt = CustomerDetailTab;
没有建立。我无法理解如何获取视图对象。