{"action":"created","issue":{"url":"https://api.github.com/repos/osmdroid/osmdroid/issues/971","repository_url":"https://api.github.com/repos/osmdroid/osmdroid","labels_url":"https://api.github.com/repos/osmdroid/osmdroid/issues/971/labels{/name}","comments_url":"https://api.github.com/repos/osmdroid/osmdroid/issues/971/comments","events_url":"https://api.github.com/repos/osmdroid/osmdroid/issues/971/events","html_url":"https://github.com/osmdroid/osmdroid/issues/971","id":306600051,"number":971,"title":"Custom projection using 6.0.1","user":{"login":"janekp","id":757876,"avatar_url":"https://avatars3.githubusercontent.com/u/757876?v=4","gravatar_id":"","url":"https://api.github.com/users/janekp","html_url":"https://github.com/janekp","followers_url":"https://api.github.com/users/janekp/followers","following_url":"https://api.github.com/users/janekp/following{/other_user}","gists_url":"https://api.github.com/users/janekp/gists{/gist_id}","starred_url":"https://api.github.com/users/janekp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janekp/subscriptions","organizations_url":"https://api.github.com/users/janekp/orgs","repos_url":"https://api.github.com/users/janekp/repos","events_url":"https://api.github.com/users/janekp/events{/privacy}","received_events_url":"https://api.github.com/users/janekp/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"monsieurtanuki","id":11576431,"avatar_url":"https://avatars0.githubusercontent.com/u/11576431?v=4","gravatar_id":"","url":"https://api.github.com/users/monsieurtanuki","html_url":"https://github.com/monsieurtanuki","followers_url":"https://api.github.com/users/monsieurtanuki/followers","following_url":"https://api.github.com/users/monsieurtanuki/following{/other_user}","gists_url":"https://api.github.com/users/monsieurtanuki/gists{/gist_id}","starred_url":"https://api.github.com/users/monsieurtanuki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/monsieurtanuki/subscriptions","organizations_url":"https://api.github.com/users/monsieurtanuki/orgs","repos_url":"https://api.github.com/users/monsieurtanuki/repos","events_url":"https://api.github.com/users/monsieurtanuki/events{/privacy}","received_events_url":"https://api.github.com/users/monsieurtanuki/received_events","type":"User","site_admin":false},"assignees":[{"login":"monsieurtanuki","id":11576431,"avatar_url":"https://avatars0.githubusercontent.com/u/11576431?v=4","gravatar_id":"","url":"https://api.github.com/users/monsieurtanuki","html_url":"https://github.com/monsieurtanuki","followers_url":"https://api.github.com/users/monsieurtanuki/followers","following_url":"https://api.github.com/users/monsieurtanuki/following{/other_user}","gists_url":"https://api.github.com/users/monsieurtanuki/gists{/gist_id}","starred_url":"https://api.github.com/users/monsieurtanuki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/monsieurtanuki/subscriptions","organizations_url":"https://api.github.com/users/monsieurtanuki/orgs","repos_url":"https://api.github.com/users/monsieurtanuki/repos","events_url":"https://api.github.com/users/monsieurtanuki/events{/privacy}","received_events_url":"https://api.github.com/users/monsieurtanuki/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/osmdroid/osmdroid/milestones/13","html_url":"https://github.com/osmdroid/osmdroid/milestone/13","labels_url":"https://api.github.com/repos/osmdroid/osmdroid/milestones/13/labels","id":3134927,"number":13,"title":"v6.0.2","description":null,"creator":{"login":"spyhunter99","id":1975321,"avatar_url":"https://avatars2.githubusercontent.com/u/1975321?v=4","gravatar_id":"","url":"https://api.github.com/users/spyhunter99","html_url":"https://github.com/spyhunter99","followers_url":"https://api.github.com/users/spyhunter99/followers","following_url":"https://api.github.com/users/spyhunter99/following{/other_user}","gists_url":"https://api.github.com/users/spyhunter99/gists{/gist_id}","starred_url":"https://api.github.com/users/spyhunter99/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spyhunter99/subscriptions","organizations_url":"https://api.github.com/users/spyhunter99/orgs","repos_url":"https://api.github.com/users/spyhunter99/repos","events_url":"https://api.github.com/users/spyhunter99/events{/privacy}","received_events_url":"https://api.github.com/users/spyhunter99/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":14,"state":"open","created_at":"2018-02-22T00:52:07Z","updated_at":"2018-05-28T01:57:54Z","due_on":null,"closed_at":null},"comments":11,"created_at":"2018-03-19T19:24:27Z","updated_at":"2018-05-28T01:57:54Z","closed_at":"2018-05-28T01:57:54Z","author_association":"NONE","body":"I'm aware that osmdroid is designed to use the Web Mercator projection. However, it was trivial to use another projection in v5.6.5 simply by subclassing the Projection class, overriding few methods and MapView.getProjection(). This is not true anymore, for myriad of reasons.\r\n\r\nThis is mainly due to heavy usage of private instance methods with complex getters/logic. MapView.getProjection() is a good example of this problem (new Projection(this) should probably be in a separate protected method. Perhaps the same with new MapController()). The constructor for the Projection class is another example (mOffsetX/Y & TileSystem).\r\n\r\nSadly, it's quite hard to write a new class from scratch, because interfaces are not used much - for example observe how IGeoPoint is cast to GeoPoint in MapView.setExpectedCenter(). Projection, MapView, MapController etc are all tightly connected. Overall, it's much easier to add customisation hooks to key points."},"comment":{"url":"https://api.github.com/repos/osmdroid/osmdroid/issues/comments/392399290","html_url":"https://github.com/osmdroid/osmdroid/issues/971#issuecomment-392399290","issue_url":"https://api.github.com/repos/osmdroid/osmdroid/issues/971","id":392399290,"user":{"login":"spyhunter99","id":1975321,"avatar_url":"https://avatars2.githubusercontent.com/u/1975321?v=4","gravatar_id":"","url":"https://api.github.com/users/spyhunter99","html_url":"https://github.com/spyhunter99","followers_url":"https://api.github.com/users/spyhunter99/followers","following_url":"https://api.github.com/users/spyhunter99/following{/other_user}","gists_url":"https://api.github.com/users/spyhunter99/gists{/gist_id}","starred_url":"https://api.github.com/users/spyhunter99/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spyhunter99/subscriptions","organizations_url":"https://api.github.com/users/spyhunter99/orgs","repos_url":"https://api.github.com/users/spyhunter99/repos","events_url":"https://api.github.com/users/spyhunter99/events{/privacy}","received_events_url":"https://api.github.com/users/spyhunter99/received_events","type":"User","site_admin":false},"created_at":"2018-05-28T01:57:54Z","updated_at":"2018-05-28T01:57:54Z","author_association":"COLLABORATOR","body":"merged"}}
{"actor":{"display_login":"spyhunter99"}}