{"action":"created","issue":{"url":"https://api.github.com/repos/loklak/loklak_webclient/issues/110","labels_url":"https://api.github.com/repos/loklak/loklak_webclient/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/loklak/loklak_webclient/issues/110/comments","events_url":"https://api.github.com/repos/loklak/loklak_webclient/issues/110/events","html_url":"https://github.com/loklak/loklak_webclient/issues/110","id":84437225,"number":110,"title":"Implement a realtime display of tweets on a map","user":{"login":"mariobehling","id":1583873,"avatar_url":"https://avatars.githubusercontent.com/u/1583873?v=3","gravatar_id":"","url":"https://api.github.com/users/mariobehling","html_url":"https://github.com/mariobehling","followers_url":"https://api.github.com/users/mariobehling/followers","following_url":"https://api.github.com/users/mariobehling/following{/other_user}","gists_url":"https://api.github.com/users/mariobehling/gists{/gist_id}","starred_url":"https://api.github.com/users/mariobehling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mariobehling/subscriptions","organizations_url":"https://api.github.com/users/mariobehling/orgs","repos_url":"https://api.github.com/users/mariobehling/repos","events_url":"https://api.github.com/users/mariobehling/events{/privacy}","received_events_url":"https://api.github.com/users/mariobehling/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/loklak/loklak_webclient/labels/Feature","name":"Feature","color":"5319e7"},{"url":"https://api.github.com/repos/loklak/loklak_webclient/labels/Loklak%20Map","name":"Loklak Map","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"prasht63","id":2105062,"avatar_url":"https://avatars.githubusercontent.com/u/2105062?v=3","gravatar_id":"","url":"https://api.github.com/users/prasht63","html_url":"https://github.com/prasht63","followers_url":"https://api.github.com/users/prasht63/followers","following_url":"https://api.github.com/users/prasht63/following{/other_user}","gists_url":"https://api.github.com/users/prasht63/gists{/gist_id}","starred_url":"https://api.github.com/users/prasht63/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prasht63/subscriptions","organizations_url":"https://api.github.com/users/prasht63/orgs","repos_url":"https://api.github.com/users/prasht63/repos","events_url":"https://api.github.com/users/prasht63/events{/privacy}","received_events_url":"https://api.github.com/users/prasht63/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/loklak/loklak_webclient/milestones/1","html_url":"https://github.com/loklak/loklak_webclient/milestones/Milestone%201","labels_url":"https://api.github.com/repos/loklak/loklak_webclient/milestones/1/labels","id":1127363,"number":1,"title":"Milestone 1","description":"","creator":{"login":"mariobehling","id":1583873,"avatar_url":"https://avatars.githubusercontent.com/u/1583873?v=3","gravatar_id":"","url":"https://api.github.com/users/mariobehling","html_url":"https://github.com/mariobehling","followers_url":"https://api.github.com/users/mariobehling/followers","following_url":"https://api.github.com/users/mariobehling/following{/other_user}","gists_url":"https://api.github.com/users/mariobehling/gists{/gist_id}","starred_url":"https://api.github.com/users/mariobehling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mariobehling/subscriptions","organizations_url":"https://api.github.com/users/mariobehling/orgs","repos_url":"https://api.github.com/users/mariobehling/repos","events_url":"https://api.github.com/users/mariobehling/events{/privacy}","received_events_url":"https://api.github.com/users/mariobehling/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":0,"state":"open","created_at":"2015-05-24T11:17:56Z","updated_at":"2015-06-03T08:40:03Z","due_on":"2015-06-09T22:00:00Z","closed_at":null},"comments":3,"created_at":"2015-06-03T08:40:03Z","updated_at":"2015-06-04T08:57:07Z","closed_at":null,"body":"The user select a region on the map and loklak_server delivers coordinates with a geoJSON to be displayed. The map shall then draw markers on the map and pop up small text speech bubbles containing the tweet text. Your part is it, to identify new tweets and animate them (not all at once) if more than one is new. This is repeatet again after a give time has passed (time is given in the server response).\r\n\r\nWe will have three kinds of locations: fuzzy, as given by twitter (only city name) and exact one (as tweetet with loklak). Furthermore, very fuzzy, which are translated from location names within the tweet texts without given locations from any frontent. lokal_server will translate into coordinates.\r\n\r\nThe fuzzy and very fuzzy locations will point to the same coordinates every time. Maybe we can randomize them a bit to make them looking nice when they appear on the map. However, we should have some kind of visual effect which makes them distinguishable, maybe different colour codes. I will provide some information in the geoJSON to identify how exact the coordinates are.\r\n\r\nplease start right now to develop a framwork for that so we know which tools will be used. Please also define the geoJSON that you would expect and create a static geoJSON for that. I will then create the live API using your geoJSON specification. Furthermore, we should start to define feature-issues for all the details that are necessary to measure the progress.\r\n\r\nThis feature can either be seen as part of the wall, but should also be usable without an account, like the normal tweet search. \r\n\r\nThe idea with integration in the wall is: we must identify something that should only be usable after registration and then the feature can be selected within the wall functions. Lets start without the wall integration and do that later.\r\n\r\nOn my side I will start to integrate OpenGeoDB to automatically identify location name strings, so we will have a lot of tweets with coordinates in the database and a lot of things going on on the map.\r\nFor the API definition: I expect that you submit either left-top coordinates of the map and a width and height OR the center and a distance, so I can select the tweets. Just let me know what you believe is the common/best way to do that.\r\n\r\nMaybe we should also plan to have a search input option as well, i.e. if the number of tweets for a location is too high. Maybe we should have that option also from the very beginning.\r\n\r\nMaybe instead of geoJSON it could be possible to submit queries simply in the given search interface of loklak_server, when I extend that with coordinates. I don’t know whats necessary for the map from the server side. Maybe you translate what you get into geoJSON anyway?\r\n\r\nhat can be done\r\nhttp://wiki.openstreetmap.org/wiki/API_v0.6#Retrieving_map_data_by_bounding_box:_GET_.2Fapi.2F0.6.2Fmap\r\nhttp://boundingbox.klokantech.com/ this is a live example using it\r\n\r\nok, then would it possible to simply extend search.json with bbox=left,bottom,right,top; like /api/search.json?timezoneOffset=-120&q=party&bbox=left,bottom,right,top\r\n\r\nright now we don’t have coordinates, only place_name text fields. You can trigger results containing that using the „/place“ constraint, like /api/search.json?timezoneOffset=-120&q=party+%2Fplace\r\n\r\nso we can do one thing that we can get cordinates from place by using OSM API\r\nI will add lon/lat coordinates for our own, exact-location tweets and fill the same field using a location-name to location-coordinates table.\r\n\r\n{\r\n\"type\":mapdata,\r\n\"geo\": {\r\n\"type\": \"Point\",\r\n\"coordinates\": [-122.09,37.64 ]\r\n},\r\n\"properties\": {\r\n\"name\": \"@prasht63\",\r\n\"tweet\": \"Maps is here\",\r\n}\r\n}\r\nThe translation will probably be done without OSM API because of the mass-data aspect (ALL tweets will be tried to be translated!)\r\n\r\nthe first step is to add coordinates in a way elasticsearch likes them because they are used to select the tweets. A second step would be a translation into geoJSON. However, in the search results from api/search.json would be the data for elasticsearch."},"comment":{"url":"https://api.github.com/repos/loklak/loklak_webclient/issues/comments/108793090","html_url":"https://github.com/loklak/loklak_webclient/issues/110#issuecomment-108793090","issue_url":"https://api.github.com/repos/loklak/loklak_webclient/issues/110","id":108793090,"user":{"login":"prasht63","id":2105062,"avatar_url":"https://avatars.githubusercontent.com/u/2105062?v=3","gravatar_id":"","url":"https://api.github.com/users/prasht63","html_url":"https://github.com/prasht63","followers_url":"https://api.github.com/users/prasht63/followers","following_url":"https://api.github.com/users/prasht63/following{/other_user}","gists_url":"https://api.github.com/users/prasht63/gists{/gist_id}","starred_url":"https://api.github.com/users/prasht63/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prasht63/subscriptions","organizations_url":"https://api.github.com/users/prasht63/orgs","repos_url":"https://api.github.com/users/prasht63/repos","events_url":"https://api.github.com/users/prasht63/events{/privacy}","received_events_url":"https://api.github.com/users/prasht63/received_events","type":"User","site_admin":false},"created_at":"2015-06-04T08:57:07Z","updated_at":"2015-06-04T08:57:07Z","body":"As discussed with Michael we are doing this as a standalone feature initially so should we create a new repo on loklak or should I start with a new branch in loklak_webclient? "}}