<div id="map_canvas" style="width:100%; height:417px;"></div>
Я предполагаю, что когда вы говорите, что он не совпадает с размером экрана, вы говорите о высоте, а не о ширине. В вашем теге стиля вы установили высоту 417 пикселей, если вы хотите, чтобы div заполнял весь экран, вам нужно установить его на 100%, так же как и на ширину.
<div id="map_canvas" style="width:100%; height:100%;"></div>