有没有人想出如何使用适用于iOS的新版Google Maps SDK实现可拖动标记?API尚未本机提供.功能请求已提交.
如果我能掌握GMSMarker的基础视图,我可以拦截Touch事件.有人试过吗?
drag-and-drop draggable google-maps-markers google-maps-sdk-ios
我今天更新到xCode 7.1并尝试构建我的应用程序,但我收到此错误:
我已经尝试过"目标"下的"构建设置"并将"允许框架模块中的非模块化包含"设置为"是",但这并未解决此问题.
更新:由于这阻止了我编译和阻碍我在开发方面的进展,我建议你从Apple下载旧版xCode(https://developer.apple.com/downloads/确保登录).您可以从链接下载7.0.1版,至少继续开发.
这就是我所做的,我可以继续发展.
我知道这不是一个解决办法,而是为那些希望继续发展的人提供解决方案.
Android API有一个非常方便的类,IconGenerator.使用IconGenerator 我的Android应用程序,我可以轻松制作一个标记:
// Android - problem solved with IconGenerator
IconGenerator iconGenerator = new IconGenerator(context);
iconGenerator.setStyle(IconGenerator.STYLE_GREEN); // or any other color
Bitmap iconBitmap = iconGenerator.makeIcon(myString);
Marker m = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(iconBitmap))
.position(myLatLng);
map.addMarker(m); // map is a com.google.android.gms.maps.GoogleMap
Run Code Online (Sandbox Code Playgroud)
有没有办法在iOS中使用Swift做这么简单的事情?出现了近期发布 iOS的API,允许"标志定制"的,但我不明白如何将它应用到这个用例.
// iOS (Swift) - I don't know how to create the icon as in code above
let marker = GMSMarker(position: myLatLng)
marker.icon = // How can I set to …Run Code Online (Sandbox Code Playgroud) google-maps google-maps-markers ios google-maps-sdk-ios swift
在我正在构建的应用程序中,
我正在尝试将我的位置信息(Lat,Long/Geocoded)发送到我的紧急联系人列表.
我假设我的所有收件人都使用智能手机(Android/iOS)
到目前为止,应用程序通过SMS将我的位置信息作为字符串发送:
"I am at: " + Some Geocoded Location
Run Code Online (Sandbox Code Playgroud)
但是,我认为这不是发送确切位置信息的最佳方式.
所以,我在想是否有可能通过Google Maps API生成地图
精确定位/点,并发送到该地图的链接.
可以在设备级别完成(不联系任何服务器)
或者,这可以通过制作我自己的地图网站来完成吗?
或者,这根本不可能吗?
我也很欣赏更好的方法和建议.
先感谢您
这是一个单一视图应用程序,我按照链接https://developers.google.com/maps/documentation/ios/start上的说明 将Google地图SDK添加到iOS6.错误是:
unrecognized selector sent to class 0xe2b0
2013-02-07 15:21:29.788 mapApp[2061:12e03] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '+[GMSCameraPosition
cameraWithLatitude:longitude:zoom:]: unrecognized selector sent to class 0xe2b0'
Run Code Online (Sandbox Code Playgroud)
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
//initializing google map api key
[GMSServices provideAPIKey:@"google's api key goes here"];
[self.window makeKeyAndVisible];
return YES;
Run Code Online (Sandbox Code Playgroud)
}
ViewController.m
#import "ViewController.h" …Run Code Online (Sandbox Code Playgroud) 目前,我正在使用适用于iOS的GoogleMaps SDK进行各种操作.打电话的时候
[self.googleMapsView animateToCameraPosition:[GMSCameraPosition
cameraWithLatitude:LATITUDE
longitude:LONGITUDE
zoom:ZOOM]];
Run Code Online (Sandbox Code Playgroud)
是否有完成处理程序来确定动画是否完成?
当然我得到关于cameraPosition的GMSMapViewDelegate更新,但我该如何检查动画是否完成?
- (void)mapView:(GMSMapView *)mapView
didChangeCameraPosition:(GMSCameraPosition *)position;
Run Code Online (Sandbox Code Playgroud) 我是iOS编程新手,我已经下载了适用于iOS的谷歌地图sdk,并按照其网站上的说明进行操作(如此链接https://developers.google.com/maps/documentation/ios/start所示 )并且能够在我的应用程序中获取地图.
现在,我尝试在谷歌地图底部的屏幕上添加一个按钮,为用户提供返回上一屏幕的选项.
我只知道UIButton是UIView的子类,我们可以通过使它成为该类的子视图来使一个按钮出现在视图上.以前iOS默认使用谷歌地图MKMapView,我已经在互联网上的书籍中看到了一些示例,显示了按钮或文本框出现在地图上的应用程序的屏幕截图.但现在只需拖动界面构建器中的按钮对谷歌地图的SDK没有帮助.
这是我的代码:
ViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <GoogleMaps/GoogleMaps.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *btn;
@end
Run Code Online (Sandbox Code Playgroud)
ViewController.m
#import "ViewController.h"
#import <MapKit/MapKit.h>
#import <GoogleMaps/GoogleMaps.h>
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()
@end
@implementation ViewController
{
GMSMapView *mapView_;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)loadView …Run Code Online (Sandbox Code Playgroud) iphone cocoa-touch interface-builder ios google-maps-sdk-ios
我正在使用谷歌地图,我可以使用地图将地图集中到GMSMarker
GMSCameraPosition *camera =
[[GMSCameraPosition alloc] initWithTarget:marker.position
zoom:MAP_ZOOM_LEVEL
bearing:0
viewingAngle:0];
[mapView animateToCameraPosition:camera];
Run Code Online (Sandbox Code Playgroud)
我正在显示一个尺寸为200*150的自定义标注,当相机位置发生变化时,它会隐藏部分标注,但我希望标注位于中心,地图点位于其下方.任何想法如何做到这一点.
我的应用程序在子视图中使用GMSMapView,内存使用情况如下:
据我所知,没有任何泄漏.问题是,我得到了内存警告,并经常关闭应用程序.显然,GoogleMaps正在使用应用程序内存中的大部分内容.我怎样才能在didReceiveMemoryWarning()中发布一些内容?
是否可以在应用程序中安装Google地图并管理其内存使用,至少足以防止其导致内存关闭?
这是GoogleMaps-iOS-1.3.0.
更新:
我的记忆数据很少(使用Allocations Instrument而不是Activity Monitor).这是正确的值:
这显然是256 MB RAM设备(例如iPod Touch 4G)的"故障"范围,并解释了内存警告和偶尔踢.
有没有人在256 MB设备上的应用程序中成功运行谷歌地图?
我在GMSMapView上放置了100个GMSMarkers.如何删除所有GMSMarkers?
在适用于iOS的Google Sdk 1.6版中.
不推荐使用将保存GMSMarkers列表的标记数组(在GMSMapView(Overlays)文件中).通过使用这个我从GMSMapView中删除所有GMSMarker.
有没有其他方法可以从iOS中的GMSMapView中删除所有GMSMarker?
ios ×7
google-maps ×2
android ×1
animation ×1
cocoa-touch ×1
draggable ×1
gmsmapview ×1
ios6 ×1
iphone ×1
map ×1
marker ×1
sdk ×1
swift ×1
xcode ×1
xcode7 ×1