5

質問があり、どこにも見つからないようです。

私はiOS開発に不慣れで、アプリケーション内でGoogleマップを使用しようとしています。

私は彼らがここであなたに与える例を通り抜けました。

    #import "DemoViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@implementation DemoViewController {
  GMSMapView *mapView_;
}

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  self.view = mapView_;
}

@end

しかし、ご覧のとおり、それらは設定されself.view = mapView_;ており、UIViewクラスにはview関数がありません。

別のViewController内にあるUIView内にマップを配置したい

私はもうあなたを失いましたか?ここのどちらの方法も写真です。 ここに画像の説明を入力してください

したがって、ビュー(または空白)の内側にマップをロードします。

助けてくれてありがとう。

4

4 に答える 4

6

つまり、GMSMapViewがあります。また、。を使用して、あるビューを別のビューのサブビューにすることができますaddSubview:。でも、もし私があなただったら、私はそれをしませんloadViewviewDidLoad一番早い良い機会です。

あなたの本当の問題は、あなたが自分よりずっと進んでいるということだと思います。ビューがどのように機能するか、ビューコントローラがどのように機能するかなどを知らずにこれを実行しようとしています。4フィートすべてでジャンプする前に、深呼吸してiOSプログラミングについて学ぶことをお勧めします。そうでなければ、あなたのコード(またはGoogleのコード)が何を意味するのかさえわかりません。

于 2013-03-09T02:55:41.857 に答える
4

誰かが同じようなことをする必要がある場合、私は私のために働く解決策を見つけました。

コンテナビューを使用してから、別UIViewControllerのクラス(google Maps sdkコードにマップセクションを追加する)を作成し、メインのViewController[self.view addSubview:googleMapsView];に接続したコンテナビューであるgoogleMapsViewを使用して、メインのViewControllerに接続しました。

于 2013-03-16T01:56:24.247 に答える
4

私はここでまったく同じことをしました。

GMSMapViewインターフェイスビルダーを介してタイプのビューを追加し、コントローラーでプロパティを設定するだけです。

于 2013-03-17T19:04:53.690 に答える
1
Please try below code.
@property (strong, nonatomic) IBOutlet GMSMapView *mapView;
-(void)addAllPinsOnMapView
{
arrMapPin=[[NSMutableArray alloc] init];
for(int i = 0; i < arrOfferList.count; i++)
{
    GMSCameraPosition *cameraPosition=[GMSCameraPosition cameraWithLatitude:[[[arrOfferList objectAtIndex:i] objectForKey:@"latitude"] floatValue] longitude:[[[arrOfferList objectAtIndex:i] objectForKey:@"longitude"] floatValue] zoom:12];
    //    mapView = [GMSMapView mapWithFrame:CGRectZero camera:cameraPosition];
    _mapView.camera = cameraPosition;
    _mapView.myLocationEnabled=YES;

    GMSMarker *marker=[[GMSMarker alloc]init];
    marker.position=CLLocationCoordinate2DMake([[[arrOfferList objectAtIndex:i] objectForKey:@"latitude"] floatValue], [[[arrOfferList objectAtIndex:i] objectForKey:@"longitude"] floatValue]);
    marker.title = [[arrOfferList objectAtIndex:i] objectForKey:@"business"];
    marker.map=_mapView;
    _mapView.delegate = self;
}
}
- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:
(GMSMarker *)marker {
NSPredicate *result;
result=[NSPredicate predicateWithFormat:@"business CONTAINS[c] %@",marker.title];
NSArray * array = [arrOfferList filteredArrayUsingPredicate:result];
OfferDetailsViewController *objOfferDetailsViewController = [[OfferDetailsViewController alloc]init];
objOfferDetailsViewController.dictOfferDetails=[array objectAtIndex:0];
[self.navigationController pushViewController:objOfferDetailsViewController animated:YES];
}
- (IBAction)btnLocateMe:(UIButton *)sender
{
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:[[[AppDelegate initAppDelegate].DictLocation objectForKey:@"Latitude"] floatValue] longitude:[[[AppDelegate initAppDelegate].DictLocation objectForKey:@"Longitude"] floatValue] zoom:14];
[_mapView animateToCameraPosition:camera];
}
于 2017-10-23T11:12:57.137 に答える