این صفحه ابزار Heatmap را توضیح میدهد که در کتابخانه ابزار برای Maps SDK برای iOS موجود است. نقشه های حرارتی برای نمایش توزیع و چگالی نقاط داده روی نقشه مفید هستند.
در این ویدیو استفاده از نقشه های حرارتی به عنوان جایگزینی برای نشانگرها مورد بحث قرار می گیرد، زمانی که داده های شما به تعداد زیادی نقاط داده روی نقشه نیاز دارند.
نقشه های حرارتی درک توزیع و شدت نسبی نقاط داده روی نقشه را برای بینندگان آسان می کند. به جای قرار دادن یک نشانگر در هر مکان، نقشه های حرارتی از رنگ برای نمایش توزیع داده ها استفاده می کنند.
در مثال زیر، رنگ قرمز نشان دهنده مناطقی با تمرکز بالای ایستگاه های پلیس در ویکتوریا، استرالیا است.
اگر هنوز کتابخانه را راهاندازی نکردهاید، قبل از خواندن بقیه این صفحه، راهنمای راهاندازی را دنبال کنید.
اضافه کردن یک نقشه حرارتی ساده
برای افزودن یک نقشه حرارتی به نقشه خود، به یک مجموعه داده متشکل از مختصات برای هر مکان مورد نظر نیاز دارید. ابتدا یک نمونه GMUHeatmapTileLayer
ایجاد کنید و ویژگی map
را روی GMSMapView
تنظیم کنید. این کار را در تابع viewDidLoad()
برنامه خود انجام دهید تا مطمئن شوید که نقشه پایه قبل از کار با نقشه حرارتی بارگذاری شده است. سپس مجموعه ای از اشیاء GMUWeightedLatLng
را به نمونه GMUHeatmapTileLayer
ارسال کنید.
این ابزار کلاس GMUHeatmapTileLayer
را تامین می کند که مجموعه ای از اشیاء GMUWeightedLatLng
را می پذیرد. این تصاویر کاشی را برای سطوح مختلف زوم، بر اساس گزینه های شعاع، گرادیان و کدورت ارائه شده ایجاد می کند.
نگاهی به مراحل با جزئیات بیشتر:
- یک نمونه
GMUHeatmapTileLayer
ایجاد کنید، ویژگیmap
را روی یکGMSMapView
تنظیم کنید (این کار را در تابعviewDidLoad()
برنامه خود انجام دهید). - مجموعه ای از اشیاء
GMUWeightedLatLng
را به نمونهGMUHeatmapTileLayer
ارسال کنید. - با عبور از نمای نقشه، با
GMUHeatmapTileLayer.map
تماس بگیرید.سویفت
class Heatmap: UIViewController { private var mapView: GMSMapView! private var heatmapLayer: GMUHeatmapTileLayer! override func viewDidLoad() { super.viewDidLoad() heatmapLayer = GMUHeatmapTileLayer() heatmapLayer.map = mapView } // ... func addHeatmap() { // Get the data: latitude/longitude positions of police stations. guard let path = Bundle.main.url(forResource: "police_stations", withExtension: "json") else { return } guard let data = try? Data(contentsOf: path) else { return } guard let json = try? JSONSerialization.jsonObject(with: data, options: []) else { return } guard let object = json as? [[String: Any]] else { print("Could not read the JSON.") return } var list = [GMUWeightedLatLng]() for item in object { let lat = item["lat"] as! CLLocationDegrees let lng = item["lng"] as! CLLocationDegrees let coords = GMUWeightedLatLng( coordinate: CLLocationCoordinate2DMake(lat, lng), intensity: 1.0 ) list.append(coords) } // Add the latlngs to the heatmap layer. heatmapLayer.weightedData = list } }
هدف-C
@implementation Heatmap { GMSMapView *_mapView; GMUHeatmapTileLayer *_heatmapLayer; } - (void)viewDidLoad { [super viewDidLoad]; _heatmapLayer = [[GMUHeatmapTileLayer alloc] init]; _heatmapLayer.map = _mapView; } // ... - (void) addHeatmap { // Get the data: latitude/longitude positions of police stations. NSURL *path = [NSBundle.mainBundle URLForResource:@"police_stations" withExtension:@"json"]; NSData *data = [NSData dataWithContentsOfURL:path]; NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; NSMutableArray<GMUWeightedLatLng *> *list = [[NSMutableArray alloc] init]; [json enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { NSDictionary *item = (NSDictionary *)obj; CLLocationDegrees lat = [(NSNumber *) [item valueForKey:@"lat"] doubleValue]; CLLocationDegrees lng = [(NSNumber *) [item valueForKey:@"lng"] doubleValue]; GMUWeightedLatLng *coords = [[GMUWeightedLatLng alloc] initWithCoordinate:CLLocationCoordinate2DMake(lat, lng) intensity:1.0]; [list addObject:coords]; }]; // Add the latlngs to the heatmap layer. _heatmapLayer.weightedData = list; } @end
برای این مثال، داده ها در یک فایل JSON، police_stations.json
ذخیره می شوند. در اینجا یک عصاره از فایل است:
[
{"lat" : -37.1886, "lng" : 145.708 } ,
{"lat" : -37.8361, "lng" : 144.845 } ,
{"lat" : -38.4034, "lng" : 144.192 } ,
{"lat" : -38.7597, "lng" : 143.67 } ,
{"lat" : -36.9672, "lng" : 141.083 }
]
سفارشی کردن نقشه حرارتی
نقشه حرارتی چندین ویژگی قابل تنظیم دارد. میتوانید هنگام ایجاد نمونه GMUHeatmapTileLayer
یا در هر زمان با تنظیم یک مقدار جدید برای گزینه، گزینهها را تنظیم کنید.
گزینه های زیر در دسترس هستند:
Radius: اندازه تاری گاوسی اعمال شده بر روی نقشه حرارتی که بر حسب پیکسل بیان می شود. پیش فرض 20 است. باید بین 10 و 50 باشد. برای تنظیم شعاع
GMUHeatmapTileLayer.radius
استفاده کنید.گرادیان: طیفی از رنگها که نقشه حرارتی برای ایجاد نقشه رنگی خود از کمترین تا بالاترین شدت استفاده میکند. یک
GMUGradient
با استفاده از یک آرایه عدد صحیح حاوی رنگها، و یک آرایه شناور که نقطه شروع هر رنگ را نشان میدهد، به عنوان درصدی از حداکثر شدت، و به صورت کسری از 0 تا 1 بیان میشود. شما باید فقط یک رنگ را مشخص کنید. برای یک گرادیان تک رنگ، یا حداقل دو رنگ برای یک گرادیان چند رنگ. نقشه رنگی با استفاده از درون یابی بین آن رنگ ها ایجاد می شود. گرادیان پیش فرض دو رنگ دارد. پارامترcolorMapSize
تعداد مراحل در گرادیان را مشخص می کند. اعداد بزرگتر منجر به گرادیان صافتر میشوند، در حالی که اعداد کوچکتر انتقال واضحتری شبیه به نمودار کانتور ایجاد میکنند. ازGMUHeatmapTileLayer.gradient
برای تنظیم گرادیان استفاده کنید.Opacity: این کدورت کل لایه Heatmap است و از 0 تا 1 متغیر است. پیش فرض 0.7 است. برای تنظیم مقدار opacity از
GMUHeatmapTileLayer.opacity
استفاده کنید.
به عنوان مثال، یک Gradient
ایجاد کنید:
سویفت
let gradientColors: [UIColor] = [.green, .red] let gradientStartPoints: [NSNumber] = [0.2, 1.0] heatmapLayer.gradient = GMUGradient( colors: gradientColors, startPoints: gradientStartPoints, colorMapSize: 256 )
هدف-C
NSArray<UIColor *> *gradientColors = @[UIColor.greenColor, UIColor.redColor]; NSArray<NSNumber *> *gradientStartPoints = @[@0.2, @1.0]; _heatmapLayer.gradient = [[GMUGradient alloc] initWithColors:gradientColors startPoints:gradientStartPoints colorMapSize:256];
برای تغییر شفافیت یک نقشه حرارتی موجود:
سویفت
heatmapLayer.opacity = 0.7
هدف-C
_heatmapLayer.opacity = 0.7;
یک گزینه موجود را به روز کنید
برای به روز رسانی گزینه ای که قبلاً تنظیم شده است، این مراحل را انجام دهید:
- گزینه را به مقدار دلخواه به روز کنید.
-
GMUHeatmapTileLayer.clearTileCache()
را فراخوانی کنید.
تغییر مجموعه داده
برای تغییر مجموعه داده ای که یک نقشه حرارتی بر اساس آن ساخته شده است:
- مجموعه داده های خود را به روز کنید. از
GMUHeatmapTileLayer.weightedData
برای ارسال آرایه ای ازGMUWeightedLatLng
استفاده کنید. -
GMUHeatmapTileLayer.clearTileCache()
را فراخوانی کنید.
حذف نقشه حرارتی
برای حذف یک نقشه حرارتی، با عبور از nil
، GMUHeatmapTileLayer.map
را فراخوانی کنید.
سویفت
heatmapLayer.map = nil
هدف-C
_heatmapLayer.map = nil;
برنامه دمو را ببینید
برای مثال دیگری از اجرای نقشه حرارتی، نگاهی به HeatmapViewController
در برنامه آزمایشی که با کتابخانه ابزار ارسال می شود بیندازید. راهنمای راه اندازی به شما نشان می دهد که چگونه برنامه آزمایشی را اجرا کنید.
این صفحه ابزار Heatmap را توضیح میدهد که در کتابخانه ابزار برای Maps SDK برای iOS موجود است. نقشه های حرارتی برای نمایش توزیع و چگالی نقاط داده روی نقشه مفید هستند.
در این ویدئو استفاده از نقشه های حرارتی به عنوان جایگزینی برای نشانگرها مورد بحث قرار می گیرد، زمانی که داده های شما به تعداد زیادی نقاط داده روی نقشه نیاز دارند.
نقشه های حرارتی درک توزیع و شدت نسبی نقاط داده روی نقشه را برای بینندگان آسان می کند. به جای قرار دادن یک نشانگر در هر مکان، نقشه های حرارتی از رنگ برای نمایش توزیع داده ها استفاده می کنند.
در مثال زیر، رنگ قرمز نشان دهنده مناطقی با تمرکز بالای ایستگاه های پلیس در ویکتوریا، استرالیا است.
اگر هنوز کتابخانه را راهاندازی نکردهاید، قبل از خواندن بقیه این صفحه، راهنمای راهاندازی را دنبال کنید.
اضافه کردن یک نقشه حرارتی ساده
برای افزودن یک نقشه حرارتی به نقشه خود، به یک مجموعه داده متشکل از مختصات برای هر مکان مورد نظر نیاز دارید. ابتدا یک نمونه GMUHeatmapTileLayer
ایجاد کنید و ویژگی map
را روی GMSMapView
تنظیم کنید. این کار را در تابع viewDidLoad()
برنامه خود انجام دهید تا مطمئن شوید که نقشه پایه قبل از کار با نقشه حرارتی بارگذاری شده است. سپس مجموعه ای از اشیاء GMUWeightedLatLng
را به نمونه GMUHeatmapTileLayer
ارسال کنید.
این ابزار کلاس GMUHeatmapTileLayer
را تامین می کند که مجموعه ای از اشیاء GMUWeightedLatLng
را می پذیرد. این تصاویر کاشی را برای سطوح مختلف زوم، بر اساس گزینه های شعاع، گرادیان و کدورت ارائه شده ایجاد می کند.
نگاهی به مراحل با جزئیات بیشتر:
- یک نمونه
GMUHeatmapTileLayer
ایجاد کنید، ویژگیmap
را روی یکGMSMapView
تنظیم کنید (این کار را در تابعviewDidLoad()
برنامه خود انجام دهید). - مجموعه ای از اشیاء
GMUWeightedLatLng
را به نمونهGMUHeatmapTileLayer
ارسال کنید. - با عبور از نمای نقشه، با
GMUHeatmapTileLayer.map
تماس بگیرید.سویفت
class Heatmap: UIViewController { private var mapView: GMSMapView! private var heatmapLayer: GMUHeatmapTileLayer! override func viewDidLoad() { super.viewDidLoad() heatmapLayer = GMUHeatmapTileLayer() heatmapLayer.map = mapView } // ... func addHeatmap() { // Get the data: latitude/longitude positions of police stations. guard let path = Bundle.main.url(forResource: "police_stations", withExtension: "json") else { return } guard let data = try? Data(contentsOf: path) else { return } guard let json = try? JSONSerialization.jsonObject(with: data, options: []) else { return } guard let object = json as? [[String: Any]] else { print("Could not read the JSON.") return } var list = [GMUWeightedLatLng]() for item in object { let lat = item["lat"] as! CLLocationDegrees let lng = item["lng"] as! CLLocationDegrees let coords = GMUWeightedLatLng( coordinate: CLLocationCoordinate2DMake(lat, lng), intensity: 1.0 ) list.append(coords) } // Add the latlngs to the heatmap layer. heatmapLayer.weightedData = list } }
هدف-C
@implementation Heatmap { GMSMapView *_mapView; GMUHeatmapTileLayer *_heatmapLayer; } - (void)viewDidLoad { [super viewDidLoad]; _heatmapLayer = [[GMUHeatmapTileLayer alloc] init]; _heatmapLayer.map = _mapView; } // ... - (void) addHeatmap { // Get the data: latitude/longitude positions of police stations. NSURL *path = [NSBundle.mainBundle URLForResource:@"police_stations" withExtension:@"json"]; NSData *data = [NSData dataWithContentsOfURL:path]; NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; NSMutableArray<GMUWeightedLatLng *> *list = [[NSMutableArray alloc] init]; [json enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { NSDictionary *item = (NSDictionary *)obj; CLLocationDegrees lat = [(NSNumber *) [item valueForKey:@"lat"] doubleValue]; CLLocationDegrees lng = [(NSNumber *) [item valueForKey:@"lng"] doubleValue]; GMUWeightedLatLng *coords = [[GMUWeightedLatLng alloc] initWithCoordinate:CLLocationCoordinate2DMake(lat, lng) intensity:1.0]; [list addObject:coords]; }]; // Add the latlngs to the heatmap layer. _heatmapLayer.weightedData = list; } @end
برای این مثال، داده ها در یک فایل JSON، police_stations.json
ذخیره می شوند. در اینجا یک عصاره از فایل است:
[
{"lat" : -37.1886, "lng" : 145.708 } ,
{"lat" : -37.8361, "lng" : 144.845 } ,
{"lat" : -38.4034, "lng" : 144.192 } ,
{"lat" : -38.7597, "lng" : 143.67 } ,
{"lat" : -36.9672, "lng" : 141.083 }
]
سفارشی کردن نقشه حرارتی
نقشه حرارتی چندین ویژگی قابل تنظیم دارد. میتوانید هنگام ایجاد نمونه GMUHeatmapTileLayer
یا در هر زمان با تنظیم یک مقدار جدید برای گزینه، گزینهها را تنظیم کنید.
گزینه های زیر در دسترس هستند:
Radius: اندازه تاری گاوسی اعمال شده بر روی نقشه حرارتی که بر حسب پیکسل بیان می شود. پیش فرض 20 است. باید بین 10 و 50 باشد. برای تنظیم شعاع
GMUHeatmapTileLayer.radius
استفاده کنید.گرادیان: طیفی از رنگها که نقشه حرارتی برای ایجاد نقشه رنگی خود از کمترین تا بالاترین شدت استفاده میکند. یک
GMUGradient
با استفاده از یک آرایه عدد صحیح حاوی رنگها، و یک آرایه شناور که نقطه شروع هر رنگ را نشان میدهد، به عنوان درصدی از حداکثر شدت، و به صورت کسری از 0 تا 1 بیان میشود. شما باید فقط یک رنگ را مشخص کنید. برای یک گرادیان تک رنگ، یا حداقل دو رنگ برای یک گرادیان چند رنگ. نقشه رنگی با استفاده از درون یابی بین آن رنگ ها ایجاد می شود. گرادیان پیش فرض دو رنگ دارد. پارامترcolorMapSize
تعداد مراحل در گرادیان را مشخص می کند. اعداد بزرگتر منجر به گرادیان صافتر میشوند، در حالی که اعداد کوچکتر انتقال واضحتری شبیه به نمودار کانتور ایجاد میکنند. ازGMUHeatmapTileLayer.gradient
برای تنظیم گرادیان استفاده کنید.Opacity: این کدورت کل لایه Heatmap است و از 0 تا 1 متغیر است. پیش فرض 0.7 است. برای تنظیم مقدار opacity از
GMUHeatmapTileLayer.opacity
استفاده کنید.
به عنوان مثال، یک Gradient
ایجاد کنید:
سویفت
let gradientColors: [UIColor] = [.green, .red] let gradientStartPoints: [NSNumber] = [0.2, 1.0] heatmapLayer.gradient = GMUGradient( colors: gradientColors, startPoints: gradientStartPoints, colorMapSize: 256 )
هدف-C
NSArray<UIColor *> *gradientColors = @[UIColor.greenColor, UIColor.redColor]; NSArray<NSNumber *> *gradientStartPoints = @[@0.2, @1.0]; _heatmapLayer.gradient = [[GMUGradient alloc] initWithColors:gradientColors startPoints:gradientStartPoints colorMapSize:256];
برای تغییر شفافیت یک نقشه حرارتی موجود:
سویفت
heatmapLayer.opacity = 0.7
هدف-C
_heatmapLayer.opacity = 0.7;
یک گزینه موجود را به روز کنید
برای به روز رسانی گزینه ای که قبلاً تنظیم شده است، این مراحل را انجام دهید:
- گزینه را به مقدار دلخواه به روز کنید.
-
GMUHeatmapTileLayer.clearTileCache()
را فراخوانی کنید.
تغییر مجموعه داده
برای تغییر مجموعه داده ای که یک نقشه حرارتی بر اساس آن ساخته شده است:
- مجموعه داده های خود را به روز کنید. از
GMUHeatmapTileLayer.weightedData
برای ارسال آرایه ای ازGMUWeightedLatLng
استفاده کنید. -
GMUHeatmapTileLayer.clearTileCache()
را فراخوانی کنید.
حذف نقشه حرارتی
برای حذف یک نقشه حرارتی، با عبور از nil
، GMUHeatmapTileLayer.map
را فراخوانی کنید.
سویفت
heatmapLayer.map = nil
هدف-C
_heatmapLayer.map = nil;
برنامه دمو را ببینید
برای مثال دیگری از اجرای نقشه حرارتی، نگاهی به HeatmapViewController
در برنامه آزمایشی که با کتابخانه ابزار ارسال می شود بیندازید. راهنمای راه اندازی به شما نشان می دهد که چگونه برنامه آزمایشی را اجرا کنید.
این صفحه ابزار Heatmap را توضیح میدهد که در کتابخانه ابزار برای Maps SDK برای iOS موجود است. نقشه های حرارتی برای نمایش توزیع و چگالی نقاط داده روی نقشه مفید هستند.
در این ویدئو استفاده از نقشه های حرارتی به عنوان جایگزینی برای نشانگرها مورد بحث قرار می گیرد، زمانی که داده های شما به تعداد زیادی نقاط داده روی نقشه نیاز دارند.
نقشه های حرارتی درک توزیع و شدت نسبی نقاط داده روی نقشه را برای بینندگان آسان می کند. به جای قرار دادن یک نشانگر در هر مکان، نقشه های حرارتی از رنگ برای نمایش توزیع داده ها استفاده می کنند.
در مثال زیر، رنگ قرمز نشان دهنده مناطقی با تمرکز بالای ایستگاه های پلیس در ویکتوریا، استرالیا است.
اگر هنوز کتابخانه را راهاندازی نکردهاید، قبل از خواندن بقیه این صفحه، راهنمای راهاندازی را دنبال کنید.
اضافه کردن یک نقشه حرارتی ساده
برای افزودن یک نقشه حرارتی به نقشه خود، به یک مجموعه داده متشکل از مختصات برای هر مکان مورد نظر نیاز دارید. ابتدا یک نمونه GMUHeatmapTileLayer
ایجاد کنید و ویژگی map
را روی GMSMapView
تنظیم کنید. این کار را در تابع viewDidLoad()
برنامه خود انجام دهید تا مطمئن شوید که نقشه پایه قبل از کار با نقشه حرارتی بارگذاری شده است. سپس مجموعه ای از اشیاء GMUWeightedLatLng
را به نمونه GMUHeatmapTileLayer
ارسال کنید.
این ابزار کلاس GMUHeatmapTileLayer
را تامین می کند که مجموعه ای از اشیاء GMUWeightedLatLng
را می پذیرد. این تصاویر کاشی را برای سطوح مختلف زوم، بر اساس گزینه های شعاع، گرادیان و کدورت ارائه شده ایجاد می کند.
نگاهی به مراحل با جزئیات بیشتر:
- یک نمونه
GMUHeatmapTileLayer
ایجاد کنید، ویژگیmap
را روی یکGMSMapView
تنظیم کنید (این کار را در تابعviewDidLoad()
برنامه خود انجام دهید). - مجموعه ای از اشیاء
GMUWeightedLatLng
را به نمونهGMUHeatmapTileLayer
ارسال کنید. - با عبور از نمای نقشه، با
GMUHeatmapTileLayer.map
تماس بگیرید.سویفت
class Heatmap: UIViewController { private var mapView: GMSMapView! private var heatmapLayer: GMUHeatmapTileLayer! override func viewDidLoad() { super.viewDidLoad() heatmapLayer = GMUHeatmapTileLayer() heatmapLayer.map = mapView } // ... func addHeatmap() { // Get the data: latitude/longitude positions of police stations. guard let path = Bundle.main.url(forResource: "police_stations", withExtension: "json") else { return } guard let data = try? Data(contentsOf: path) else { return } guard let json = try? JSONSerialization.jsonObject(with: data, options: []) else { return } guard let object = json as? [[String: Any]] else { print("Could not read the JSON.") return } var list = [GMUWeightedLatLng]() for item in object { let lat = item["lat"] as! CLLocationDegrees let lng = item["lng"] as! CLLocationDegrees let coords = GMUWeightedLatLng( coordinate: CLLocationCoordinate2DMake(lat, lng), intensity: 1.0 ) list.append(coords) } // Add the latlngs to the heatmap layer. heatmapLayer.weightedData = list } }
هدف-C
@implementation Heatmap { GMSMapView *_mapView; GMUHeatmapTileLayer *_heatmapLayer; } - (void)viewDidLoad { [super viewDidLoad]; _heatmapLayer = [[GMUHeatmapTileLayer alloc] init]; _heatmapLayer.map = _mapView; } // ... - (void) addHeatmap { // Get the data: latitude/longitude positions of police stations. NSURL *path = [NSBundle.mainBundle URLForResource:@"police_stations" withExtension:@"json"]; NSData *data = [NSData dataWithContentsOfURL:path]; NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; NSMutableArray<GMUWeightedLatLng *> *list = [[NSMutableArray alloc] init]; [json enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { NSDictionary *item = (NSDictionary *)obj; CLLocationDegrees lat = [(NSNumber *) [item valueForKey:@"lat"] doubleValue]; CLLocationDegrees lng = [(NSNumber *) [item valueForKey:@"lng"] doubleValue]; GMUWeightedLatLng *coords = [[GMUWeightedLatLng alloc] initWithCoordinate:CLLocationCoordinate2DMake(lat, lng) intensity:1.0]; [list addObject:coords]; }]; // Add the latlngs to the heatmap layer. _heatmapLayer.weightedData = list; } @end
برای این مثال، داده ها در یک فایل JSON، police_stations.json
ذخیره می شوند. در اینجا یک عصاره از فایل است:
[
{"lat" : -37.1886, "lng" : 145.708 } ,
{"lat" : -37.8361, "lng" : 144.845 } ,
{"lat" : -38.4034, "lng" : 144.192 } ,
{"lat" : -38.7597, "lng" : 143.67 } ,
{"lat" : -36.9672, "lng" : 141.083 }
]
سفارشی کردن نقشه حرارتی
نقشه حرارتی چندین ویژگی قابل تنظیم دارد. میتوانید هنگام ایجاد نمونه GMUHeatmapTileLayer
یا در هر زمان با تنظیم یک مقدار جدید برای گزینه، گزینهها را تنظیم کنید.
گزینه های زیر در دسترس هستند:
Radius: اندازه تاری گاوسی اعمال شده بر روی نقشه حرارتی که بر حسب پیکسل بیان می شود. پیش فرض 20 است. باید بین 10 و 50 باشد. برای تنظیم شعاع
GMUHeatmapTileLayer.radius
استفاده کنید.گرادیان: طیفی از رنگها که نقشه حرارتی برای ایجاد نقشه رنگی خود از کمترین تا بالاترین شدت استفاده میکند. یک
GMUGradient
با استفاده از یک آرایه عدد صحیح حاوی رنگها، و یک آرایه شناور که نقطه شروع هر رنگ را نشان میدهد، به عنوان درصدی از حداکثر شدت، و به صورت کسری از 0 تا 1 بیان میشود. شما باید فقط یک رنگ را مشخص کنید. برای یک گرادیان تک رنگ، یا حداقل دو رنگ برای یک گرادیان چند رنگ. نقشه رنگی با استفاده از درون یابی بین آن رنگ ها ایجاد می شود. گرادیان پیش فرض دو رنگ دارد. پارامترcolorMapSize
تعداد مراحل در گرادیان را مشخص می کند. اعداد بزرگتر منجر به گرادیان صافتر میشوند، در حالی که اعداد کوچکتر انتقال واضحتری شبیه به نمودار کانتور ایجاد میکنند. ازGMUHeatmapTileLayer.gradient
برای تنظیم گرادیان استفاده کنید.Opacity: این کدورت کل لایه Heatmap است و از 0 تا 1 متغیر است. پیش فرض 0.7 است. برای تنظیم مقدار opacity از
GMUHeatmapTileLayer.opacity
استفاده کنید.
به عنوان مثال، یک Gradient
ایجاد کنید:
سویفت
let gradientColors: [UIColor] = [.green, .red] let gradientStartPoints: [NSNumber] = [0.2, 1.0] heatmapLayer.gradient = GMUGradient( colors: gradientColors, startPoints: gradientStartPoints, colorMapSize: 256 )
هدف-C
NSArray<UIColor *> *gradientColors = @[UIColor.greenColor, UIColor.redColor]; NSArray<NSNumber *> *gradientStartPoints = @[@0.2, @1.0]; _heatmapLayer.gradient = [[GMUGradient alloc] initWithColors:gradientColors startPoints:gradientStartPoints colorMapSize:256];
برای تغییر شفافیت یک نقشه حرارتی موجود:
سویفت
heatmapLayer.opacity = 0.7
هدف-C
_heatmapLayer.opacity = 0.7;
یک گزینه موجود را به روز کنید
برای به روز رسانی گزینه ای که قبلاً تنظیم شده است، این مراحل را انجام دهید:
- گزینه را به مقدار دلخواه به روز کنید.
-
GMUHeatmapTileLayer.clearTileCache()
را فراخوانی کنید.
تغییر مجموعه داده
برای تغییر مجموعه داده ای که یک نقشه حرارتی بر اساس آن ساخته شده است:
- مجموعه داده های خود را به روز کنید. از
GMUHeatmapTileLayer.weightedData
برای ارسال آرایه ای ازGMUWeightedLatLng
استفاده کنید. -
GMUHeatmapTileLayer.clearTileCache()
را فراخوانی کنید.
حذف نقشه حرارتی
برای حذف یک نقشه حرارتی، با عبور از nil
، GMUHeatmapTileLayer.map
را فراخوانی کنید.
سویفت
heatmapLayer.map = nil
هدف-C
_heatmapLayer.map = nil;
برنامه دمو را ببینید
برای مثال دیگری از اجرای نقشه حرارتی، نگاهی به HeatmapViewController
در برنامه آزمایشی که با کتابخانه ابزار ارسال می شود بیندازید. راهنمای راه اندازی به شما نشان می دهد که چگونه برنامه آزمایشی را اجرا کنید.