1. 怎么解决javascript 谷歌地图字体没办法加载的问题
可以用国内cdn加速,比如360的。
1、首先在程序源代码中找到调用Google前端公共库的地址,比如:
js"><scripttype="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver=3.4.2"></script>
2、将Google前端库的域名 ajax.googleapis.com 修改为:ajax.useso.com 即可(只需改动主机地址),如下所示:
<scripttype="text/javascript"src="http://ajax.useso.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver=3.4.2"></script>
//http://www.hi-docs.com/article/detail-MzI=.html
2. 在百度地图中确定一个点,然后保存下经纬度,存至数据库,怎么实现呢还有读取的时候显示标注的这个店的地图
//添加标记点击监听
marker.addEventListener("click", function (e) {
gc.getLocation(e.point, function (rs) {
showLocationInfo(e.point, rs);
});
});
map.centerAndZoom(point, 15); //设置中心点坐标和地图级别
map.addOverlay(marker); //将标记添加到地图中
3. android Map API Key 的申请
google地图听说好像从2012年年底开始收费,我们公司做地图方面的项目以前使用google地图,但从去年开始转为网络地图,现在已经基本改成网络地图了。建议也试试网络地图吧
下面是网上查到的资料:
Google地理开发博客宣布,谷歌地图API(Google Maps API)将不再免费提供,当用户调用谷歌地图API超过一定限制,将会按照超出的次数来收取费用,费用是每一千次调用4-10美元左右。
Google建议使用Google Maps API的开发商,需要评估一下调用谷歌地图的用法,确认他们的服务是否受到影响。如果调用次数超过限制,则需要:
1、降低调用Google Maps API的次数,将其限制在每天二万五千次以下。
2、根据超出的调用次数支付一定费用。
3、购买Google Maps API的高级许可证
谷歌地图调用限制
免费的谷歌地图API用户依旧可以在限制范围内继续免费使用,具体的调用限制是:
1、每天地图API调用次数少于25000次。
2、每天彩色地图(Styled Maps)API的调用次数少于2500次。
收费标准
Google在地图API的FAQ中列出了如下的收费标准:
服务 每天免费 超出后千次调用收费(美元)
JS Maps API v3 25,000 $4
JS Maps API v3 styled maps 2,500 $4 / $8
Static Maps API 25,000 $4
Static Maps API styled maps 2,500 $4 / $8
Street View Image API 25,000 $4
JS Maps API v2 25,000 $10
对于企业用户来说,通常会购买Google Maps API Premier较为合算,其价格以地图调用量为参考依据,价格每年$10,000起。对于个人用户来说,可以登录Google APIs Console来监控API的调用次数以及目前的访问次数,如果调用次数过高则需要采取一定措施。
免费模式的商业化
对中国的消费者来说,付费习惯尚未养成。而对于资金实力不强的中小开发者来说,选择免费模式是发展的首选,然而,免费模式如果长期运营,无疑有个尴尬现实:服务提供商为大众贡献了优质的服务,投入了不少运营成本,却无法从中获得有意义的收入,来支撑服务的长期运营。因此,将原先的“免费”服务通过各种方式来进行收费,就成为服务长期运营的手段。
世界上没有免费的午餐,免费模式是个美丽的陷阱。很多打着“免费”旗号的大公司,在投入大量资金,通过“免费”的模式拥有了足够多的用户,并取得了市场的垄断权之后,用户面临的可能是一个非常危险的状况,反垄断的重要性对于任何行业、任何企业都一样,哪怕是打着“不作恶”旗号的Google。
4. 如何用JS实现:通过浏览器获得用户地理位置,计算预置地理位置与用户地理位置之间的距离,返回数字文本
其实有了 Haversine 公式,两点坐标之后就很简单了。你提供的上海范围太大,且没有坐标,下面例子以上海虹桥机场为参考(纬度:31.2,经度:121.4)。
要从地名获得它的经纬度应该需要有一个庞大的数据库,这点没有仔细研究过。谷歌地图应该会提供此类的 API。你可以网络一下"经纬度查询",有很多网站提供此功能。
测试的时候最好用 IE9 或 Opera 高版本,Firefox 和 Safari 有时会获取不到地理位置,Chrome 会自动屏蔽本地文件。
<script type="text/javascript">
// Haversine 公式
function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
var R = 6371;
var dLat = deg2rad(lat2 - lat1);
var dLon = deg2rad(lon2 - lon1);
var a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d;
}
function deg2rad(deg) {
return deg * (Math.PI / 180);
}
// 上海虹桥机场经纬度
var lat = 31.2, lon = 121.4;
// 尝试获取地理位置
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(pos) {
var d = getDistanceFromLatLonInKm(
pos.coords.latitude,
pos.coords.longitude,
lat, lon).toFixed(2);
alert("当前位置距上海虹桥机场:" + d + "公里");
});
}
else {
alert("浏览器不支持 geolocation");
}
</script>