{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7160","repository_url":"https://api.github.com/repos/mapbox/mapbox-gl-native","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7160/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7160/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7160/events","html_url":"https://github.com/mapbox/mapbox-gl-native/issues/7160","id":191147325,"number":7160,"title":"rename MGLGeoJSONSource to MGLFeatureSource","user":{"login":"incanus","id":17722,"avatar_url":"https://avatars.githubusercontent.com/u/17722?v=3","gravatar_id":"","url":"https://api.github.com/users/incanus","html_url":"https://github.com/incanus","followers_url":"https://api.github.com/users/incanus/followers","following_url":"https://api.github.com/users/incanus/following{/other_user}","gists_url":"https://api.github.com/users/incanus/gists{/gist_id}","starred_url":"https://api.github.com/users/incanus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incanus/subscriptions","organizations_url":"https://api.github.com/users/incanus/orgs","repos_url":"https://api.github.com/users/incanus/repos","events_url":"https://api.github.com/users/incanus/events{/privacy}","received_events_url":"https://api.github.com/users/incanus/received_events","type":"User","site_admin":false},"labels":[{"id":92400707,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/iOS","name":"iOS","color":"000000","default":false},{"id":142869898,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/macOS","name":"macOS","color":"000000","default":false},{"id":425246192,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/needs%20discussion","name":"needs discussion","color":"b60205","default":false},{"id":121069548,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/refactor","name":"refactor","color":"0052cc","default":false},{"id":425273839,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/runtime%20styling","name":"runtime styling","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/37","html_url":"https://github.com/mapbox/mapbox-gl-native/milestones/ios-v3.4.0","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/37/labels","id":1783804,"number":37,"title":"ios-v3.4.0","description":"The release will go through a series of alpha and beta versions until it reaches a stable state and is made generally available. In the alpha phase, we publish a version that have enough new features as to be useful for developers who would like to test and help report issues. In the beta phase, we've locked down most new feature development and are focused on stability issues. In general, after the first alpha, we aim to release a new alpha (or beta) version once per week.\r\n","creator":{"login":"friedbunny","id":1198851,"avatar_url":"https://avatars.githubusercontent.com/u/1198851?v=3","gravatar_id":"","url":"https://api.github.com/users/friedbunny","html_url":"https://github.com/friedbunny","followers_url":"https://api.github.com/users/friedbunny/followers","following_url":"https://api.github.com/users/friedbunny/following{/other_user}","gists_url":"https://api.github.com/users/friedbunny/gists{/gist_id}","starred_url":"https://api.github.com/users/friedbunny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/friedbunny/subscriptions","organizations_url":"https://api.github.com/users/friedbunny/orgs","repos_url":"https://api.github.com/users/friedbunny/repos","events_url":"https://api.github.com/users/friedbunny/events{/privacy}","received_events_url":"https://api.github.com/users/friedbunny/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":264,"state":"open","created_at":"2016-05-23T22:50:20Z","updated_at":"2016-12-01T19:50:32Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2016-11-22T22:55:43Z","updated_at":"2016-12-01T22:12:25Z","closed_at":null,"body":"This is a proposal after experimentation and discussion with @1ec5. \r\n\r\nA developer doesn't necessarily need to touch or view GeoJSON when using this type of source. They can create `MGLFeature` instances, instantiate a source with them, and mutate them later. \r\n\r\n```swift\r\nlet feature = MGLPointFeature()\r\nfeature.coordinate = CLLocationCoordinate2D(latitude: 45, longitude: -122)\r\nlet maybeSource = MGLGeoJSONSource(identifier: \"point\", features: [feature], options: nil)\r\nif let source = maybeSource, let parks = style.layer(withIdentifier: \"national_park\") {\r\n    style.add(source)\r\n    let layer = MGLCircleStyleLayer(identifier: \"layer\", source: source)\r\n    layer.circleColor = MGLStyleValue(rawValue: UIColor.red)\r\n    layer.circleRadius = MGLStyleValue(rawValue: 10)\r\n    layer.circleOpacity = MGLStyleValue(rawValue: 0.25)\r\n    style.insert(layer, below: parks)\r\n    map.setCenter(feature.coordinate, zoomLevel: 10, animated: false)\r\n    let maybeTimer = Timer(timeInterval: 1, repeats: true) { (timer) in\r\n        feature.coordinate = CLLocationCoordinate2D(latitude: feature.coordinate.latitude + 0.01, longitude: feature.coordinate.longitude + 0.01)\r\n        source.features = [feature]\r\n    }\r\n    if let timer = maybeTimer {\r\n        RunLoop.main.add(timer, forMode: .commonModes)\r\n    }\r\n}\r\n```\r\n\r\n![moving](https://cloud.githubusercontent.com/assets/17722/20545344/87efdc72-b0c3-11e6-922e-2548d7b1cbe5.gif)\r\n\r\nThis would make it clearer that you can do such a thing, it would make https://github.com/mapbox/mapbox-gl-native/pull/6940 easier or irrelevant, and it will tie in to https://github.com/mapbox/mapbox-gl-native/issues/6177. \r\n\r\n/cc @1ec5 @boundsj @jfirebaugh @ericrwolfe "},"comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments/264311743","html_url":"https://github.com/mapbox/mapbox-gl-native/issues/7160#issuecomment-264311743","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7160","id":264311743,"user":{"login":"incanus","id":17722,"avatar_url":"https://avatars.githubusercontent.com/u/17722?v=3","gravatar_id":"","url":"https://api.github.com/users/incanus","html_url":"https://github.com/incanus","followers_url":"https://api.github.com/users/incanus/followers","following_url":"https://api.github.com/users/incanus/following{/other_user}","gists_url":"https://api.github.com/users/incanus/gists{/gist_id}","starred_url":"https://api.github.com/users/incanus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incanus/subscriptions","organizations_url":"https://api.github.com/users/incanus/orgs","repos_url":"https://api.github.com/users/incanus/repos","events_url":"https://api.github.com/users/incanus/events{/privacy}","received_events_url":"https://api.github.com/users/incanus/received_events","type":"User","site_admin":false},"created_at":"2016-12-01T22:12:25Z","updated_at":"2016-12-01T22:12:25Z","body":"> Points are represented in the iOS and macOS SDKs as instances of MGLPointAnnotation, which is a subclass of MGLShape.\r\n\r\nSure, but this is an implementation detail. When I see \"shape\" (two dimensions) I don't think \"point\" (one dimension) and I think this will be confusing to developers. "}}
{"actor":{"display_login":"incanus"}}