{"id":852,"url":"https://github.com/ArthurGuibert/FSInteractiveMap","last_synced_at":"2025-07-30T19:32:36.741Z","repository":{"id":25146458,"uuid":"28568806","full_name":"ArthurGuibert/FSInteractiveMap","owner":"ArthurGuibert","description":"A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!","archived":false,"fork":false,"pushed_at":"2018-10-18T16:01:55.000Z","size":733,"stargazers_count":551,"open_issues_count":18,"forks_count":80,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-12-01T09:17:14.997Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArthurGuibert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-28T18:45:02.000Z","updated_at":"2024-11-18T07:35:51.000Z","dependencies_parsed_at":"2022-08-21T04:20:34.215Z","dependency_job_id":null,"html_url":"https://github.com/ArthurGuibert/FSInteractiveMap","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurGuibert%2FFSInteractiveMap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurGuibert%2FFSInteractiveMap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurGuibert%2FFSInteractiveMap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurGuibert%2FFSInteractiveMap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArthurGuibert","download_url":"https://codeload.github.com/ArthurGuibert/FSInteractiveMap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228178897,"owners_count":17881105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:15:32.992Z","updated_at":"2024-12-04T19:32:01.986Z","avatar_url":"https://github.com/ArthurGuibert.png","language":"Objective-C","funding_links":[],"categories":["Charts","UI"],"sub_categories":["Other free courses","Getting Started"],"readme":"FSInteractiveMap\n================\n\nA charting library to visualize data on a map. It's like \u003ca href=\"https://developers.google.com/chart/interactive/docs/gallery/geochart\"\u003egeochart\u003c/a\u003e but for iOS!\n\nThe idea behind this library is to load a SVG file of a map and display it simply in a view. On top of that you can know when a specific area is clicked.\n\nPlease note that the SVG loading is quite simple and doesn't support all the features of the SVG file format. It's just good enough to display most of the maps I found in SVG!\n\nScreenshots\n---\n\u003cimg src=\"Screenshots/screen00.png\" width=\"320px\" /\u003e\u0026nbsp;\u003cimg src=\"Screenshots/screen01.png\" width=\"320px\" /\u003e\u0026nbsp;\u003cimg src=\"Screenshots/screen02.png\" width=\"320px\" /\u003e\n\nInstalling FSInteractiveMap\n---\nAdd the contents of the FSInteractiveMap project to your directory or simply add the following line to your Podfile:\n\n    pod \"FSInteractiveMap\"\n\n\nHow to use\n---\nFSInteractiveMap is a subclass of UIView so it can be added as regular view. It's basically loading a map from a SVG file. I bundled a few svg maps in the example but you can add any SVG to your project and load it.\n\n```objc\nNSDictionary* data = @{\t@\"asia\" : @12,\n                        @\"australia\" : @2,\n                        @\"north_america\" : @5,\n                        @\"south_america\" : @14,\n                        @\"africa\" : @5,\n                        @\"europe\" : @20\n                      };\n    \nFSInteractiveMapView* map = [[FSInteractiveMapView alloc] initWithFrame:self.view.frame];\n\n[map loadMap:@\"world-continents-low\" withData:data colorAxis:@[[UIColor lightGrayColor], [UIColor darkGrayColor]]];\n\n[map setClickHandler:^(NSString* identifier, CAShapeLayer* layer) {\n    self.detailDescriptionLabel.text = [NSString stringWithFormat:@\"Continent clicked: %@\", identifier];\n}];\n```\n\nAn example of a \"clickable\" map:\n\n```objc\nFSInteractiveMapView* map = [[FSInteractiveMapView alloc] initWithFrame:CGRectMake(16, 96, self.view.frame.size.width - 32, 500)];\n[map loadMap:@\"usa-low\" withColors:nil];\n\n[map setClickHandler:^(NSString* identifier, CAShapeLayer* layer) {\n    if(_oldClickedLayer) {\n        _oldClickedLayer.zPosition = 0;\n        _oldClickedLayer.shadowOpacity = 0;\n    }\n    \n    _oldClickedLayer = layer;\n    \n    // We set a simple effect on the layer clicked to highlight it\n    layer.zPosition = 10;\n    layer.shadowOpacity = 0.5;\n    layer.shadowColor = [UIColor blackColor].CGColor;\n    layer.shadowRadius = 5;\n    layer.shadowOffset = CGSizeMake(0, 0);\n}];\n```\n\nHow to find SVG maps\n---\nThere are a few places where you can find svg files that are suitable for FSInteractiveMap. Here is a short list:\n- http://www.amcharts.com/svg-maps/\n- http://www.highcharts.com/maps/demo#custom/world-continents\n- Wikipedia\n\nContact \u0026 Issues\n---\nIf you have any issues please let me know in the issue part of this project.\nFor any other things you can reach me on \u003ca href=\"https://twitter.com/birslip\"\u003etwitter\u003c/a\u003e or by \u003ca href=\"mailto:birslip@gmail.com\"\u003eemail\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArthurGuibert%2FFSInteractiveMap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FArthurGuibert%2FFSInteractiveMap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArthurGuibert%2FFSInteractiveMap/lists"}