There are commercial services such as SkyHookWireless or Combain, and non-commercial ones like Mozilla's, which is at https://location.services.mozilla.com/
Though there is an API for Mozilla's, the site suggests you may have to jump through some hoops to get there.
You can also use HTML5 geolocation in a webview, though you'd then have to get the results from that webview back to your app.