какой db foursquare используется?
Я не имею в виду: MySQL, Oracle или что-то еще, я имею в виду:
Где они получают место?
С Google Maps?Какой вид использования DB Foursquare?
0
A
ответ
2
Из того, что я могу сказать, 4SQ использует Google Maps и Geolocation
Я не знаю, что вы используете для технологии, но я написал довольно сладкий «Lat/Lon» локатор, который работает с Карты Google и карты Bing. Он находится в VB.NET и выводит широту и долготу как JSON.
Imports System.Runtime.Serialization
Imports System.Web
Imports System.Net
Imports System.Runtime.Serialization.Json
Imports System.Web.Script.Serialization
Namespace Utilities.Apis
Public NotInheritable Class Geolocation
''# This is the object that we are going to store the latitude and
''# longitude contained in the API response.
Private coordinates As Coordinates
Public Sub New()
coordinates = New Coordinates
End Sub
Private Const googleUrl As String = "http://maps.googleapis.com/maps/api/geocode/json?address={0}&sensor=false"
Private Const bingUrl As String = "http://dev.virtualearth.net/REST/v1/Locations?addressLine={0}&key={1}&CountryRegion={2}"
Private Const bingKey As String = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Public Enum apiProvider
Google = 1
Bing = 2
End Enum
''''# <summary>
''''# Gets the Latitude and Longitude of an address using either Bing or Google Geolocation
''''# </summary>
''''# <param name="Provider">ENUM apiProvider [Bing] or [Google]</param>
''''# <param name="Address">The address of the coordinates you'd like to locate</param>
''''# <param name="countryCode">Bing doesn't play nice outside the US without this. use "CA" for Canada</param>
''''# <returns>A JSON string using "Latitude" and "Longitude" from the Coordinates class</returns>
Public Function GetLatLon(ByVal Provider As Integer,
ByVal Address As String,
Optional ByVal CountryCode As String = "CA") As String
''# If there happens to be some strange behavior with the placeholder,
''# we want to ensure that the "demo" content is not submitted to the
''# api.
If Address = "6789 university drive" Then
Return Nothing
End If
Address = HttpUtility.UrlEncode(Address)
Dim url As String
Dim responseType As Type
If Provider = apiProvider.Bing Then
url = String.Format(bingUrl, Address, bingKey, CountryCode)
responseType = GetType(BingResponse)
ElseIf Provider = apiProvider.Google Then
url = String.Format(googleUrl, Address)
responseType = GetType(GoogleResponse)
Else
''# If for some reason, the apiResponse is NOT Google or Bing,
''# then we want to return Google anyways.
url = String.Format(googleUrl, Address)
End If
''# Initiate the Http Web Request to the respective provider
Dim request = DirectCast(HttpWebRequest.Create(url), HttpWebRequest)
''# Deflate the compressed (gzip'd) response
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate")
request.AutomaticDecompression = DecompressionMethods.GZip Or DecompressionMethods.Deflate
''# Serialize the response into it's respective Data Contract
Dim serializer As New DataContractJsonSerializer(responseType)
''# Because the JSON Response from Google and Bing are drastically
''# different, we need to consume the response a little differently
''# for each API. I'd like to figure out a way to shrink this a
''# little more, but at the same time, it's working. So I'm going to
''# leave it alone for now [Nov 28,2010]
''# Here we're handling the Bing Provider
If Provider = apiProvider.Bing Then
Dim res = DirectCast(serializer.ReadObject(request.GetResponse().GetResponseStream()), BingResponse)
Dim resources As BingResponse.ResourceSet.Resource = res.resourceSets(0).resources(0)
Dim point = resources.point
With coordinates
.latitude = point.coordinates(0)
.longitude = point.coordinates(1)
End With
''# Here we're handling the Google Provider
ElseIf Provider = apiProvider.Google Then
Dim res = DirectCast(serializer.ReadObject(request.GetResponse().GetResponseStream()), GoogleResponse)
Dim resources As GoogleResponse.Result = res.results(0)
Dim point = resources.geometry.location
With coordinates
.latitude = point.lat
.longitude = point.lng
End With
End If
''# Serialize the coordinates and return the string
Dim jsonSerializer = New JavaScriptSerializer
Return jsonSerializer.Serialize(coordinates)
End Function
End Class
<DataContract()>
Public Class BingResponse
<DataMember()>
Public Property resourceSets() As ResourceSet()
<DataContract()>
Public Class ResourceSet
<DataMember()>
Public Property resources() As Resource()
<DataContract([Namespace]:="http://schemas.microsoft.com/search/local/ws/rest/v1", name:="Location")>
Public Class Resource
<DataMember()>
Public Property point() As m_Point
<DataContract()>
Public Class m_Point
<DataMember()>
Public Property coordinates() As String()
End Class
End Class
End Class
End Class
<DataContract()>
Public Class GoogleResponse
<DataMember()>
Public Property results() As Result()
<DataContract()>
Public Class Result
<DataMember()>
Public Property geometry As m_Geometry
<DataContract()>
Public Class m_Geometry
<DataMember()>
Public Property location As m_location
<DataContract()>
Public Class m_location
<DataMember()>
Public Property lat As String
<DataMember()>
Public Property lng As String
End Class
End Class
End Class
End Class
End Namespace
и вот как это легко назвать.
Geolocate.GetLatLon(Utilities.Apis.Geolocation.apiProvider.Google, "1234 Some Funky Street, Home Town, MI", "US")
Таким образом, в конце концов, они используют комбинацию своей собственной Geolocating, а также информацию, которая «может» быть представлен на твиттере или на конечных пользователей мобильных устройств (iPhone, например, спрашивает, если вы хотите чтобы он мог отправлять информацию о местоположении).
0
Они полагаются на пользователей для ввода новых местоположений. Возможно, они посеяли его в какой-то момент с импортом.
Смежные вопросы
- 1. Какой вид db используется в Vignette CMS
- 2. Особый вид DB отношения
- 3. Какой вид это?
- 4. Какой вид пузыря?
- 5. Какой вид используется здесь?
- 6. Какой вид? - IOS5
- 7. Какой вид ViewController это
- 8. Какой вид это? - Java
- 9. Какой вид используется какао?
- 10. Какой вид управления использовать?
- 11. какой вид ассоциаций
- 12. Проверьте, какой вид представил текущий вид
- 13. Какой db выбрать, используя рельсы. Large db
- 14. Какой DB/DB Engine поддерживает поиск?
- 15. Как сделать подтянутый вид в iOS (аналогичный FourSquare)
- 16. Android Узнайте, какой вид присутствует
- 17. Какой вид я прохожу выше?
- 18. Как узнать, какой вид коснулся
- 19. Как определить, какой вид активен?
- 20. Проверьте, какой вид посылает gestureRecognizer
- 21. Какой «вид» Python для начала?
- 22. Как определить, какой вид коснулся?
- 23. Какой вид имеет cache_value последовательностей?
- 24. Какой элемент/вид используется здесь?
- 25. Какой вид ViewController это? UITabBarViewController?
- 26. Какой вид котировки более эффективен?
- 27. Swift iOS Какой вид сверху
- 28. Какой DB я должен выбрать?
- 29. Foursquare: какой код ошибки HTTP будет возвращен в случае rate_limit_exceeded?
- 30. Какой пример использования DebuggerStepperBoundaryAttribute?
Вопросы о том, какие технологии использует конкретная компания в любой момент времени, слишком локализованы, если вы не хотите говорить о том, как реализовать подобную технологию в своем собственном приложении. – 2010-12-10 02:40:30
Мне нужно реализовать аналогичную вещь в моем приложении. Что я могу сделать? – Fabian 2010-12-10 02:42:11