ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PHP-Google Map API 3标记未显示

2019-11-01 02:31:31  阅读:183  来源: 互联网

标签:ajax codeigniter google-maps google-maps-api-3 php


我正在使用Google Map API 3和Google Geocoder.问题是它没有显示标记和信息窗口,而是通过ajax带来了数据,并调用了函数showAddress(elemId,address),其中elementId是div ID,将在其中渲染地图.这是谷歌地图的代码

<script type="text/javascript">
//<![CDATA[

var geocoder;
var map;
var lat;
var lng;
function showAddress(elemId, address) {
    geocoder = new google.maps.Geocoder();
    geocoder.geocode( { 'address': address}, function(results, status){
//        console.log(results[0].geometry.location.YA);
            lat = results[0].geometry.location.Ya;
            lng = results[0].geometry.location.Za;
                var mapOptions = {
                    zoom: 15,
                    center:  new google.maps.LatLng(lat, lng),
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
            map = new google.maps.Map(document.getElementById(elemId),
                    mapOptions)
            $('a#full-'+elemId).attr('href','http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q='+lat+','+lng+'')
            var marker 
            marker = "marker_"+elemId;
            myLatlng = new google.maps.LatLng(lat,lng);
            marker = new google.maps.Marker({
                id:elemId,
                position: myLatlng,
                map: map
            });
            var infowindow = "infowindow"+elemId;
            infowindow  = new google.maps.InfoWindow({
            content: 'Hello world'
            });
            infowindow.open(map, marker);
            google.maps.event.trigger(map, 'resize');
    });

}
</script>

解决方法:

首先.Ya和.Za不是文档化的属性,因此,如果您按如下方式使用它们

lat = results[0].geometry.location.Ya;
lng = results[0].geometry.location.Za;

该代码可能会中断.

其次,results [0] .geometry.location已经是google.maps.LatLng()对象,因此无需分别提取lat和lng并创建一个新对象.您可以像这样使用它:

map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
    id: elemId,
    map: map,
    position: results[0].geometry.location
})

标签:ajax,codeigniter,google-maps,google-maps-api-3,php
来源: https://codeday.me/bug/20191101/1980348.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有